2011-03-08 86 views
1

我有一個奇怪的問題。在向Web表單添加文字控件之後,Visual Studio也向自動生成的designer.cs文件添加聲明,並且可以在文件後面的代碼中訪問文字控制。ASP.NET文字控制消失自動生成designer.cs文件

我還需要將此文字控件的值傳遞給JavaScript函數,並且需要將此asp:Listeral控件包裝在單引號中。只要我這樣做,Visual Studio將其從設計代碼中移除。我可以做些什麼來阻止Visual Studio刪除聲明,或者是否有更好的方法來實現我正在嘗試實現的目標。

<button class="submitBtn" onclick="javascript:JsUtils.submit_answer('<%#Eval('QuestionID')%>,'<asp:Literal ID='testResultId' runat='server'></asp:Literal>');">Submit Answer</button> 
+0

由於控件不再存在而消失。您正在創建一個包含「」的字符串。我懷疑有更好的方法,爲什麼它被傳遞給submit_answer(),是否用於輸出結果? – Fishcake 2011-03-08 11:33:03

+0

submit_answer函數將使用提供的參數執行Ajax post請求。文字在代碼後面被來自數據訪問類的值設置。 – 2011-03-08 11:39:10

回答

0

最基本的層面你可能想要做這樣的事情,而不是:

<asp:Literal ID='testResultId' runat='server'></asp:Literal> 
<button class="submitBtn" 
onclick="javascript:JsUtils.submit_answer('<%#Eval('QuestionID')%>, 
'<%=testResultID.Text%>');">Submit Answer</button> 

然而,這可能是很不理想。你說文字值是「在代碼後面設置」 - 爲什麼?它會顯示在屏幕上,如果你只是試圖通過這個函數將數據從服務器傳遞到客戶端,那麼爲什麼渲染它,只是爲了再次引用它來創建此函數調用?只需將其直接添加到您的功能中,例如是這樣的:

<button class="submitBtn" 
onclick="javascript:JsUtils.submit_answer('<%#Eval('QuestionID')%>, 
'<%=SomeProperty%>');">Submit Answer</button> 

其中SomeProperty是你的頁面,返回要設置到文字值的字符串屬性。

+0

謝謝,這對我有用。 – 2011-03-08 13:23:41