0
在我的頁面中,我有一個用戶控件,它將在開關打開時插入jQuery函數。這是我的用戶控件後臺代碼:無法調用後面插入代碼的jquery函數
public bool isRequired {
set {
if (value == true) {
ClientScriptManager cs = Page.ClientScript;
string csname = "isRequiredScript";
if (!cs.IsClientScriptBlockRegistered(this.GetType(), csname)) {
StringBuilder cstext = new StringBuilder();
cstext.Append("<script type=\"text/javascript\">");
cstext.Append("$(document).ready(function() {");
cstext.Append("function QuestionwithConditionalInfo_validation() {");
cstext.Append("if ($(\"#MainPlaceHolder_" + QuestionOption.ClientID + " :checked\").val() == null) {");
cstext.Append("alert(\"Please answer the question '" + setQuestionText + "'\");");
cstext.Append("return false;");
cstext.Append("}} });");
cstext.Append("</script>");
cs.RegisterClientScriptBlock(this.GetType(), csname, cstext.ToString(), false);
}
}
}
}
然後在主網頁,我打算調用jQuery函數:
function childpage_validation() {
if (QuestionwithConditionalInfo_validation() == false)
return false;
}
<asp:Button ID="page1_Next" Text="Next page" runat="server" OnClick="page1_Next_Command" OnClientClick="return childpage_validation()" />
然後我得到了錯誤說功能QuestionwithConditionalInfo_validation()
沒有定義之後,我嘗試了RegisterStartupScript
而不是RegisterClientScriptBlock
,它得到了相同的錯誤。有誰知道爲什麼?
將它從文檔中取出,否則它不是全局的,因此無法從其他腳本訪問。 – 2013-03-04 19:12:03
另外,爲什麼你不只是'返回QuestionwithConditionalInfo_validation()'而不是檢查它是真是假? – 2013-03-04 19:20:41