我有下面的代碼塊一個問題:執行從代碼隱藏jQuery腳本拋出異常
Dim scriptHere As System.Web.UI.HtmlControls.HtmlGenericControl = control.Page.FindControl("scriptHere")
Dim controlID As String = ""
Dim disabled As String = IIf(isDisabled, "true", "false")
If TypeOf (control) Is ASPxEditBase Then
controlID = control.ID
End If
Try
control.ReadOnly = isDisabled
Dim script As String = ""
script &= "<script type=""text/javascript"">" & vbCrLf
script &= "// <![CDATA[" & vbCrLf
script &= "try {" & vbCrLf
script &= "$('#<%= " + controlID + ".ClientID %>').attr('disabled', " + disabled + ");" & vbCrLf
If selectedIndex <> -1 Then
control.SelectedIndex = selectedIndex
script &= "" + controlID + ".SetValue(" + selectedIndex.ToString() + ");" & vbCrLf
End If
script &= "} catch (e) { " & IIf(showErrors, "alert(e.message);", ";") & " }" & vbCrLf
script &= "// ]]> " & vbCrLf
script &= "</script>" & vbCrLf
scriptHere.InnerHtml &= script
Catch ex As Exception
Console.Out.WriteLine(ex.ToString())
End Try
的問題是,它拋出我的異常。 更準確地說,它只是說「未定義」,沒有別的。 我想,問題在於這一行內:
script &= "$('#<%= " + controlID + ".ClientID %>').attr('disabled', " + disabled + ");" & vbCrLf
此外,本是一個jQuery的命令,我可以假設的例外是由「$」造成的。
額外的信息:
- 我有所需的jQuery庫鏈接。
- 我曾嘗試添加
jQuery(document).ready(function() {/.../});
- 我已經嘗試使用ScriptManager執行相同的腳本。
- 我曾嘗試調用的Page_Load這一分,而不是更早的 階段頁面的渲染
- 我自己也嘗試這個腳本 塊中鏈接了jQuery庫。
這就是現在。 在此先感謝。
你能看到正在呈現到頁面上的JavaScript(通過查看頁面源)嗎?這是否按預期寫入? – evilbhonda
是啊,這裏是 '<腳本類型= 「文/ JavaScript的」> // <![CDATA [ jQuery的(文件)。就緒(函數(){ 嘗試{ $('#<%= cbRelation (')')。attr('disabled',true); cbRelation.SetValue(1); } catch(e){alert(e.message);} }); //]]> ' – Mitsosp