我现在是这样写的
private void BtnConfirm_Click(object sender, System.EventArgs e)
{
        if (myMaker.ID.Length == 0)
        {
string strCheckInput = "<script src=JavaScript/Default.js></script><script>inputPrice('"+this.txtIPrice.UniqueID+"')</script>"; 
Page.RegisterStartupScript("CheckInput", strCheckInput);
myMaker.ID = this.txtIPrice.Text;
                                                                {
                                                                  .......操作.......
                                                                  }
}
}<script language =javascript >
    function inputtext()
    {
      var e=document.getElementById ("TextBox1")
      e.value=prompt("input text","")
    }
</script>就是说我要在这个BtnConfirm_Click事件里处理用户的输入。
可是我这样写他会在这个事件结束后才出输入框,这时用户的输入值对这个事件来说已经没用了

解决方案 »

  1.   

    在page_load里写 this.BtnConfirm.Attributes.Add("onclick","return inputtext();")脚本这样写
    <script language =javascript >
        function inputtext()
        {
                            var newWin = window.showModalDialog(....);//这里自己补        var e=document.getElementById ("TextBox1")
          e.value=newWin.returnValue;
                            return true;
        }
    </script>
      

  2.   

    建议弹出窗口前的判断尽量放在javascript处理;如果实在一定要在后台判断,也有个笨办法:
    <asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
    <INPUT id="Button2" style="DISPLAY: none" type="button" value="Button" name="Button2" runat="server">////////////////////////////////////////////////
    private void Button1_Click(object sender, System.EventArgs e)
            {
                if(2>1)
                {
                    Page.RegisterStartupScript("","<script>if(window.confirm('???')){document.all['Button2'].click();}</script>");
                }
            }        private void Button2_ServerClick(object sender, System.EventArgs e)
            {
                this.TextBox1.Text = DateTime.Now.ToString();
            }