在asp.net 后台中根据数据库某个值判断是否出现让用户选择“是”或“否”(javascript:confirm)的对话框。然后再根据用户的选择“是”再执行后台一个按钮的代码后台代码如下:
if (Convert.ToInt32(DbHelper.GetValue(strExitSql)) > 0)
            {
                hdpd.Value = "1";
                ScriptManager.RegisterClientScriptBlock(this.Page, Type.GetType("System.String"), "x1", "doPd();", true);
            }
            else
            {
                hdpd.Value = "0";
            }另一个按钮代码
protected void abc_Click(object sender, EventArgs e)
        {
            txtBzdz.Text = "234234";
}前台代码:javascript 代码
function doPd()
{
__doPostBack('abc','');
alert('1');               //////////////////特别注意
}当有alert('1')这句代码时,执行abc成功。。如果没有这句代码时,不执行。。
百思不得其解。如果这种方法不行,还有没有其他的办法达到我的目的。。谢谢

解决方案 »

  1.   

    ScriptManager.RegisterClientScriptBlock你用updatepanel 了?
      

  2.   

    function doPd()
    {
        document.all("txtBzdz").value="234234";
    }
      

  3.   

    前台:
    <head runat="server">
    <script language="JavaScript">
      function fun1() 
      { 
        var str = ajaxprotest.getstr().value;
        if(str=="1")
        { 
          return confirm('您是否确定?');
        }
      }
    </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="fun1();" OnClick="Button1_Click" /></div>
        </form>
    </body>后台:
    public partial class ajaxprotest : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(ajaxprotest));    } protected void Button1_Click(object sender, EventArgs e)
     {
        int i = 0;
     }[AjaxPro.AjaxMethod]
    public static string  getstr()
    {
         return "1";
    }}
      

  4.   

    假设是按钮
    <asp:Button ID="bt_login"  runat="server"  onclick='return confirm("是否删除?")' />
    如果选择 “是” 就会运行到后台
      

  5.   

    1楼:是的,用了ajax....update2楼:我的代码是说明过程,真实的功能比这个复杂;3楼:没明白具体的含义,请赐教;4楼:与问题不一致。
    在asp.net 后台中根据数据库某个值判断是否出现让用户选择“是”或“否”(javascript:confirm)的对话框。然后再根据用户的选择“是”再执行后台一个按钮的代码
      

  6.   

    想到2种处理方法
    1。做一个 hiddenfield, 然后 true/false 都去 postback, 只是hiddenvalue 的值不一样
    2。自己做个自定义的提示框,用不用的按钮
      

  7.   

    3楼:没明白具体的含义,请赐教;先用Ajax技术从后台中取值(var str = ajaxprotest.getstr().value;
    ),根据取的值让用户选择“是”或“否”( if(str=="1")
      {  
      return confirm('您是否确定?');
      }
    如果选择"是",则执行后台 protected void Button1_Click(object sender, EventArgs e)
     {
      int i = 0;
     }