我正在将我的JavaScript代码转换为ASP.NET代码,但遇到了一个问题。我仍然使用JS代码向用户显示提示窗口(在后面的代码中使用JS代码)。
执行JS代码,并将用户的输入保存在隐藏字段中。在代码之后,我从隐藏字段读取值,并将其保存在一个字符串中,供以后使用。
问题是在执行JS代码之前执行用于读取隐藏字段值的代码,这将导致一个空字符串。
在JS代码被完全执行之前,我怎样才能让我的代码实现呢?
ClientScript.RegisterStartupScript(this.GetType(), "prompt", "var value = prompt('Enter your password here.'); storeinput(value);", true);
string code = hidValue.Value;
Debug.WriteLine("Password: " + code);谢谢!
发布于 2014-08-19 12:53:49
将ScriptManager放在asp.net页面中,如下所示
<asp:ScriptManager ScriptMode="Release" LoadScriptsBeforeUI="false" EnablePageMethods="true"
runat="server" ID="ScriptManager1" />在页面中创建方法并装饰WebMethod属性
[WebMethod]
public static void GetPasswordFromClient(string password) {
Debug.WriteLine("Password: " + password);
}并用javascript编写以下代码:
function OnSucceeded_SendPasswordToServer(result, userContext, methodName) {
}
function OnFailed_SendPasswordToServer(error, userContext, methodName) {
alert(error);
}
function SendPasswordToServer(string password) {
PageMethods.GetPasswordFromClient(password, OnSucceeded_SendPasswordToServer, OnFailed_SendPasswordToServer);
}现在您可以使用寄存器脚本或在页面中使用:
var value = prompt('Enter your password here.');
SendPasswordToServer(value);https://stackoverflow.com/questions/25383338
复制相似问题