我得到代码块错误。请给我解决方案.... [英] I Get the Code Block Error. Please Give me Solution....

查看:64
本文介绍了我得到代码块错误。请给我解决方案....的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到了代码块错误。当我在Cs文件中按我的按钮。



错误是控件集合无法修改,因为控件包含代码块(即<%...%>)。





在Aspx。文件

 <   head     id   =  Head1      runat   = 服务器 >  
< title > 销售订单< / title >
< meta charset = utf-8 >
< link rel = 样式表 href = ../ css / style.css >
< link 类型 = text / css < span class =code-attribute> href = ../ jQuery / jQuery.UI / Datepicker / CSS / redmond / jquery-ui-1.8.1.custom.css
< /秒pan>
rel = 样式表 / >
< link type = text / css href = ../ jQuery / Autocomplete / jquery.autocomple te.css rel = 样式表 / >
< link < span class =code-attribute>
href = ../ jQuery / jQuery.UI / Tabs / CSS / redmond / jquery-ui-1.8.2.custom.css < span class =code-attribute> rel = stylesheet

type = text / css / >
< link href = ../ css / template.css rel = stylesheet type = text / css / >
< link < span class =code-attribute> rel = stylesheet href = ../ css / validationEngine.jquery.css type = text / css / >
< link rel = stylesheet type = text / css href = ../ jquery / speechbubblesRS.css / >

< script src = <%#ResolveUrl( ../ jQuery / jquery.min.js)%> type = text / javascript > < / 脚本 >

< script type = text / javascript src = <%#ResolveUrl( ../ js / script.js)%> > < / script >

< <跨班=code-leadattribute> script type = text / javascript src = <%#ResolveUrl( http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js )%> > < / script >

< script 类型 = text / javascript < span class =code-attribute> src = <%#ResolveUrl( 。 ./jQuery/jQuery.UI/jquery.ui.core.js)%> > < / script >

< script 类型 = text / javascript src = <%#ResolveUrl( ../ jQuery / jQuery.UI / Datepicker / JS / jquery.ui.datepicker.js)%> > < / script >

< script type = text / javascript src = <%#ResolveUrl ( ../ jQuery / Autocomplete / jquery.autocomplete.pack.js)%> > < / script >

< script type = text / javascript src = <%#ResolveUrl( ../ jQuery / Numeric / jquery.numeric .pack.js)%> > < / script >

< script src = <%#ResolveUrl( ../ jQuery / jQuery.UI / jquery.ui.widget.js)%> type = text / javascript > < / script >

< script src = <%#ResolveUrl( ../ jQuery / jQuery.UI / Tabs / JS / jquery.ui.tabs.js)%>

type = text / javascript > < / script >

< script src = <%#ResolveUrl( ../ jQuery / js / jquery.validationEngine-en.js)%> 类型 = text / javascript

charset = utf-8 > < / 脚本 >

< script src = <%#ResolveUrl( ../ jQuery / js / jquery.validationEngine.js)%> 类型 = text / javascript

charset = utf- 8 > < / script >

< script src = <%#ResolveUrl( ../ jquery / speechbubbles.js)%> 类型 = text / javascript > < / script >

< / head >





在Cs文件中

 如果(dt.Rows.Count >   0 
{
string LnNo = ;
LnNo + = 1 ;
hlSOBOMDtls.Attributes.Add( rel #dynDivCode + LnNo);
hlSOBOMDtls.Attributes.Add( class addspeech);

HtmlGenericControl dynDiv = new System.Web.UI.HtmlControls.HtmlGenericControl( DIV);
dynDiv.ID = dynDivCode + LnNo; dynDiv.Style.Add(HtmlTextWriterStyle.BackgroundColor, Gray);
dynDiv.Style.Add(HtmlTextWriterStyle.Height, 20px);

string dispString = ;
string AltColor = FBEFEE;
dispString = < table cellspacing = 0 cellpadding = 2 class = fullborder style = background-color:FFFFE5; width:100%; font-size:11px; font-family:Verdana; >;

// dispString = dispString +< tr style =background-color:# DA5344;颜色:#FFFFCC;>+
dispString = dispString + < th class = printHeaderText style = width:10%; text-align:left ; border-removedsolid 1px gray; > LnNo< / th>;
dispString = dispString + < th class = printHeaderText style = width:10%; text-align:left; border-removedsolid 1px grey; >项目名称< / th>;
dispString = dispString + < th class = printHeaderText style = width:10%; text-align:left; border-removedsolid 1px grey; >交货日期< / th>;
dispString = dispString + < / tr>;
for int i = 0 ; i < = dt.Rows.Count - 1 ; i ++)
{
if (AltColor == FBEFEE )AltColor = FFFFFF; else AltColor = FBEFEE;
dispString = dispString + < tr style = background-color:# + AltColor +; >;
dispString = dispString + < th class = printHeaderText style = width:10%; text-align:left; border-removedsolid 1px grey; > + LnNo + < /第> 中;

if (dt.Rows [ 0 ] [ ItemName]!= DBNull.Value)
dispString = dispString + < th class = printHeaderText style =宽度:100%; text-align:left; border-removedsolid 1px grey; font-weight:light > + dt.Rows [ 0 ] [ ItemName]。ToString()+ < / th>;

if (dt.Rows [ 0 ] [ DeliveryDate]!= DBNull.Value)
dispString = dispString + < th class = printHeaderText style =宽度:100%; text-align:left; border-removedsolid 1px grey; font-weight:lighter > + Convert.ToDateTime(dt.Rows [ 0 ] [ DeliveryDate])。ToString(< span class =code-string>
dd-MMM-yyyy)+ < / th>;
dispString = dispString + < / tr>;
}
dispString = dispString + < / table>;
dynDiv.InnerHtml = dispString;
dynDiv.Style.Add(HtmlTextWriterStyle.Visibility, hidden);
this .Controls.Add(dynDiv);
}

解决方案

您的问题可能来自以下几行:

< pre lang =c#> dispString = dispString + < th class = printHeaderText style = width:10%; text-align:left; border-removedsolid 1px grey; > LnNo< / th>;





首先,当你试图在字符串中加入一些双引号时,你必须对它们进行esacepe,因此它们不被视为双引号字符串分隔符。



但最好的选择可能是在这里使用StringBuilder,因为你连接几个字符串;性能甚至可以提高。



所以你的代码应该是这样的:

 StringBuilder sb =  new  StringBuilder( < table cellspacing = \0\\ \\cellpadding = \2 \class = \fullborder \style = \background-color:FFFFE5; width:100%; font-size:11px; font-family:Verdana; \ > 中); 
sb.Append( < th class = \printHeaderText \style = \ width:10%; text-align:left; border-removedsolid:1px \mode = \hold\/>
sb.Append(
< th class = \ printHeaderText \style = \width :10%; text-align:left; border-removedsolid:1px = \mode = \hold\/>
sb.Append(
< th class = \ printHeaderText \style = \width :10%; text-align:left; border-removedsolid:1px \mode = \hold\/>

// ...等等。
< / table>



StringBuilder.AppendFormat(string,params object [])方法也很有用。



需要记住的重要事项是:如果你想插入双 - 在字符串中引用,你要么要转义双引号本身(用'\'字符),要么加倍它('')。



示例:

想象一下你要存储句子:

我想插入登录我的字符串。



in a string。



你可以写:

  string  text =  我想插入\\ \\登录我的字符串。; 





  string  text =  我想插入  在我的字符串中签名。; 


嗨请尝试这个,这肯定会解决你的问题。



 src =<%#ResolveUrl('../ js / script.js')%>





只需在双引号中使用单引号,因此您应该在该页面中使用ResolveUrl Function的地方应用此项。


I m getting a Code Blocks Error. When i m Press my button in Cs file.

The error is "The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>)."


In Aspx. File

<head id="Head1"  runat="server">
    <title>Sales Order</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="../css/style.css">
    <link type="text/css" href="../jQuery/jQuery.UI/Datepicker/CSS/redmond/jquery-ui-1.8.1.custom.css"

        rel="Stylesheet" />
    <link type="text/css" href="../jQuery/Autocomplete/jquery.autocomplete.css" rel="Stylesheet" />
    <link href="../jQuery/jQuery.UI/Tabs/CSS/redmond/jquery-ui-1.8.2.custom.css" rel="stylesheet"

        type="text/css" />
    <link href="../css/template.css" rel="stylesheet" type="text/css" />
    <link rel="stylesheet" href="../css/validationEngine.jquery.css" type="text/css" />
    <link rel="stylesheet" type="text/css" href="../jquery/speechbubblesRS.css" />

    <script src="<%# ResolveUrl("../jQuery/jquery.min.js") %>" type="text/javascript"></script>

    <script type="text/javascript" src="<%# ResolveUrl("../js/script.js") %>"></script>

    <script type="text/javascript" src="<%# ResolveUrl("http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js") %>"></script>

    <script type="text/javascript" src="<%# ResolveUrl("../jQuery/jQuery.UI/jquery.ui.core.js") %>"></script>

    <script type="text/javascript" src="<%# ResolveUrl("../jQuery/jQuery.UI/Datepicker/JS/jquery.ui.datepicker.js") %>"></script>

    <script type="text/javascript" src="<%# ResolveUrl("../jQuery/Autocomplete/jquery.autocomplete.pack.js") %>"></script>

    <script type="text/javascript" src="<%# ResolveUrl("../jQuery/Numeric/jquery.numeric.pack.js") %>"></script>

    <script src="<%# ResolveUrl("../jQuery/jQuery.UI/jquery.ui.widget.js") %>" type="text/javascript"></script>

    <script src="<%# ResolveUrl("../jQuery/jQuery.UI/Tabs/JS/jquery.ui.tabs.js") %>"

        type="text/javascript"></script>

    <script src="<%# ResolveUrl("../jQuery/js/jquery.validationEngine-en.js") %>" type="text/javascript"

        charset="utf-8"></script>

    <script src="<%# ResolveUrl("../jQuery/js/jquery.validationEngine.js") %>" type="text/javascript"

        charset="utf-8"></script>

    <script src="<%# ResolveUrl("../jquery/speechbubbles.js") %>" type="text/javascript"></script>

</head>



In Cs File

if (dt.Rows.Count > 0)
            {
                string LnNo = "";
                LnNo += 1;
                hlSOBOMDtls.Attributes.Add("rel", "#dynDivCode" + LnNo);
                hlSOBOMDtls.Attributes.Add("class", "addspeech");

                HtmlGenericControl dynDiv = new System.Web.UI.HtmlControls.HtmlGenericControl("DIV");
                dynDiv.ID = "dynDivCode" + LnNo; dynDiv.Style.Add(HtmlTextWriterStyle.BackgroundColor, "Gray");
                dynDiv.Style.Add(HtmlTextWriterStyle.Height, "20px");

                string dispString = "";
                string AltColor = "FBEFEE";
                dispString = "<table cellspacing="0" cellpadding="2" class="fullborder" style="background-color:FFFFE5;width:100%;font-size:11px;font-family:Verdana;">";

                //dispString = dispString + "<tr style="background-color:#DA5344; color:#FFFFCC;"> " +
                dispString = dispString + "<th class="printHeaderText" style="width:10%;text-align:left;border-removedsolid 1px gray;">LnNo</th>";
                dispString = dispString + " <th class="printHeaderText" style="width:10%;text-align:left;border-removedsolid 1px gray;">Item Name</th>";
                dispString = dispString + " <th class="printHeaderText" style="width:10%;text-align:left;border-removedsolid 1px gray;">Delivery Date</th>";
                dispString = dispString + "</tr>";
                for (int i = 0; i <= dt.Rows.Count - 1; i++)
                {
                    if (AltColor == "FBEFEE") AltColor = "FFFFFF"; else AltColor = "FBEFEE";
                    dispString = dispString + "<tr style="background-color: #" + AltColor + ";"> ";
                    dispString = dispString + " <th class="printHeaderText" style="width:10%;text-align:left;border-removedsolid 1px gray;">" + LnNo + "</th>";

                    if (dt.Rows[0]["ItemName"] != DBNull.Value)
                        dispString = dispString + " <th class="printHeaderText" style="width:100%;text-align:left;border-removedsolid 1px gray; font-weight:lighter">" + dt.Rows[0]["ItemName"].ToString() + "</th>";

                    if (dt.Rows[0]["DeliveryDate"] != DBNull.Value)
                        dispString = dispString + " <th class="printHeaderText" style="width:100%;text-align:left;border-removedsolid 1px gray; font-weight:lighter">" + Convert.ToDateTime(dt.Rows[0]["DeliveryDate"]).ToString("dd-MMM-yyyy") + "</th> ";
                    dispString = dispString + "</tr>";
                }
                dispString = dispString + "</table>";
                dynDiv.InnerHtml = dispString;
                dynDiv.Style.Add(HtmlTextWriterStyle.Visibility, "hidden");
                this.Controls.Add(dynDiv);
            }

解决方案

Your problem may come from the lines like the following one:

dispString = dispString + "<th class="printHeaderText" style="width:10%;text-align:left;border-removedsolid 1px gray;">LnNo</th>";



First, as you are trying to put some double-quotes in a string, you have to esacepe them, so they are not considered as double-quote string delimiters.

But the best option may be to use a StringBuilder here, as you concatenate several strings alltogether ; performance could even be improved.

So your code should look like:

   StringBuilder sb = new StringBuilder("<table cellspacing=\"0\" cellpadding=\"2\" class=\"fullborder\" style=\"background-color:FFFFE5;width:100%;font-size:11px;font-family:Verdana;\">");
   sb.Append("<th class=\"printHeaderText\" style=\"width:10%;text-align:left;border-removedsolid:1px\" mode=\"hold\" />
   sb.Append("<th class=\"printHeaderText\" style=\"width:10%;text-align:left;border-removedsolid:1px=\" mode=\"hold\" />
   sb.Append("<th class=\"printHeaderText\" style=\"width:10%;text-align:left;border-removedsolid:1px\" mode=\"hold\" />

// ... and so on.
</table>


The StringBuilder.AppendFormat(string, params object[]) method could also be useful.

Important thing to remeber is: if you want to insert double-quotes in a string, you have either to escape the double-quote itself (with the '\' character), or double it ('""').

Example:
Imagine you want to store the sentence:

I want to insert the " sign in my string.


in a string.

You can write:

string text = "I want to insert the \" sign in my string.";


OR

string text = "I want to insert the "" sign in my string.";


Hi Please try this one this will definitely solve your problem.

src="<%# ResolveUrl('../js/script.js') %>"



Just use single quote inside double quote , so you should apply this where you used ResolveUrl Function in that page.


这篇关于我得到代码块错误。请给我解决方案....的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆