C# 如何在javascript中调用委托?
我正在写一个javascriptC# 如何在javascript中调用委托?,c#,javascript,asp.net,delegates,C#,Javascript,Asp.net,Delegates,我正在写一个javascript function ValueChanges() { Parent = document.getElementById('<%= grvMultiChoiceAnswerList.ClientID %>'); var items = Parent.getElementsByTagName('textarea'); var chkboxControl = Parent.getElementsByTagName('chec
function ValueChanges()
{
Parent = document.getElementById('<%= grvMultiChoiceAnswerList.ClientID %>');
var items = Parent.getElementsByTagName('textarea');
var chkboxControl = Parent.getElementsByTagName('checkbox');
for (i = 0; i < items.length; i++) {
var hdnTextControl, hdnExplanation;
hdnTextControl = (items[i].id).replace("txtText", "hdnText");
hdnExplanation = (items[i].id).replace("txtExplanation", "hdnExplanation");
if (items[i].id.split("_")[5] == "txtText") {
if (items[i].value != document.getElementById(hdnTextControl).value) {
var ssave = window.confirm('Your changes are not saved. Do you want to save your changes before you exit.')
if (ssave == true) {
document.getElementById('<%=btnUpdate.ClientID%>').click(); // I WANT TO REPLACE THIS LIKE SO MY DELEGATE GETS FIRE
return false;
}
else
return true;
}
}
}
现在我想在java脚本中调用这个委托,并替换document.getElementById(“”);因此,如果(ssave==true)条件为true,我的委托将被触发。为了从javascript访问服务器上的“方法”,您需要使用javascript进行回发,如:
__doPostBack('MyBtn','');
就服务器而言,这与
document.getElementById('<%=btnUpdate.ClientID%>').click();
document.getElementById(“”)。单击();
,但对于客户端,它将跳过通过单击按钮链接的任何javascript
要访问服务器端,您需要模拟javascript中事件的触发,以便asp.net页面能够识别并抓住它。添加网格视图的update列并查看生成的javascript,它将为您提供知道在dopostback中触发什么的线索。在您可能需要保留该列但能够使用css隐藏它之后。我不能从javascript启动委托,此解决方案无法解决我的porb。
document.getElementById('<%=btnUpdate.ClientID%>').click();