0
我需要從代碼隱藏ASP.NET(C#)到Javascript函數的同步調用。ASP.NET - >同步調用JavaScript函數
我試過ScriptManager.Registerclient,但是因爲這是異步的,所以這是不好的。在返回值(更新UpdatePanel)以檢查操作是否有效之前,我需要在JavaScript中進行一些測試。
對於短碼例如:
myButton_click(object sender, EventArgs args)
{
<callJavascriptSynchronous>
if (MyHiddenField.Value == "true")
//Do
else
//Don't
}
MyHiddenField是一個UpdatePanel內。對於javascript函數:
function javascriptFoo(myInteger)
{
var returnValue = window.external.TestInteger(myInteger);
document.getElementById('<%=MyHiddenField.ClientID%>').value = returnValue;
}
UpdatePanel的是這樣的:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:HiddenField ID="MyHiddenField" runat="server" ClientIDMode="Static" Value="" Visible="false"/>
</ContentTemplate>
在同步調用有什麼建議?
謝謝!
編輯:新增全碼:
MyPage.aspx:
function javascriptFoo(myInteger)
{
var returnValue = window.external.TestInteger(myInteger);
document.getElementById('<%=MyHiddenField.ClientID%>').value = returnValue;
}
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:HiddenField ID="MyHiddenField" runat="server" ClientIDMode="Static" Value="" Visible="false"/>
</ContentTemplate>
<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand">
MyPage.aspx.cs:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
ScriptManager.RegisterStartupScript(UpdatePanelContext, UpdatePanelContext.GetType(), "AlertTest", "AlertTest()", true);
string sVal = HiddenFieldContext.Value;
if (sVal == "true") //do
else //don't
}
回傳會對我沒有好處,因爲這是在操作中發生的。我實際上是在GridView.RowCommand事件中執行此操作。 – user1782815 2014-09-04 08:00:35
'myButton_click'在哪裏? – Alexander 2014-09-04 08:01:59
它在哪裏? 我需要測試Gridview_rowCommand事件中的數據。 我能夠做到這一點,它的工作原理,但呼叫不同步。 –
user1782815
2014-09-04 08:03:36