如何将javascript var值捕获到asp.net页面中

how to capture javascript var value into asp.net page

本文关键字:asp net javascript var      更新时间:2023-09-26

我有一个asp.net页面,在该页面上单击按钮(btn1),我想显示一个消息框,用按钮"确定/覆盖"和"取消"问用户一个问题是否要覆盖?,然后根据用户的响应,我必须更新我的数据库。

所以我试图使用Javascript Confirm函数来完成它

var r = Confirm('Do you want to overwrite ?)

但现在我必须将这个Var r捕获到我的页面中,以便相应地更新我的数据库有什么帮助吗?我该怎么做?

在这种情况下,您不需要将r的值传递给服务器;你根本不回邮。

只要有这样的东西:

<asp:button id="btn1" runat="server" OnClientClick="return confirm('Overwrite?');" OnClick="btn1_Click" Text="Submit" />

如果用户单击"确定",则页面将返回,您将更新数据库。如果用户单击"取消",则页面根本不会回发,您也不必执行任何操作。

这是您的代码:-在Net(.aspx)页面中添加隐藏字段

    <form id="form10" runat="server">
    <asp:HiddenField ID="hdnField" runat="server" Value="false" />
    </form>

隐藏字段应添加到表单标记下。此隐藏字段的值最初为"false"。

以下是您需要在代码隐藏文件(.cs文件)中执行的操作

    protected void btnSubmits_Click(object sender, EventArgs e)
    {
     if (hdnField.Value == "false")
            {
                AddJavascriptCode(itemValue); 
            }

        else if (hdnField.Value == "true")
        {
            lblMsg.Text = string.Format("You have entered {0}", itemValue);
            hdnField.Value = "false";
        }
    }

以下是从"确定/确认"或"取消"按钮捕获响应的代码。

    private void AddJavascriptCode(string itemValue)
    {
        string script = @"<script language=""JavaScript"" type=""text/javascript"">
   window.onload=function()
  {
   var IsConfirm = 1;
   objField = document.getElementById('" + hdnField.ClientID + @"');
   objSubmit = document.getElementById('" + btnSubmit.ClientID + @"');
   IsConfirm = newConfirm('Test','You have entered " + itemValue + @" value. Do you want to overwrite ?',1,1,0);
   if(IsConfirm == true)
  {
  objField.value = 'true';
  objSubmit.click();
  }
  else
 {
  objField.value = 'false';
 }
}
function newConfirm(title,mess,icon,defbut,mods)
{
if (document.all)
{
retVal = confirm(mess);
retVal = (retVal==1)
}
else
{
retVal = confirm(mess);
}
return retVal;
}
</script>";
        Page.ClientScript.RegisterStartupScript(this.GetType(), "Test", script);
    }
}

希望这对你有所帮助:)。