input type="submit",触发后台事件出现问题

Falleyes 2014-08-05 08:35:32
<--! FindCode.aspx -->
<form id="form1" name="form1" runat="server">
<p>
<label for="name">
工号:<br />
<input id="name" type="text" name="name" placeholder="ID" runat="server" />
</label>
</p>
<br />
<label for="email">
邮箱地址:
<input id="email" type="text" name="email" placeholder="Email" runat="server" />
</label>
<input id="loginbutton" type="submit" name="loginbutton" value="发送邮件"
runat="server" onserverclick="Submit_Click" />
</form>

//FindCode.aspx.cs
protected void Submit_Click(object sender, EventArgs e)
{
Response.Redirect("Default.aspx");
}


调试发现点击按钮loginbutton没有反应,但我的form和input本身都加了runat="server"。
还有其他原因导致这个问题吗?
...全文
739 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Falleyes 2014-08-06
  • 打赏
  • 举报
回复
在代码下段有table,如果把table删掉就没问题了。应该是页面的某些问题,就这样,先结贴了!
Falleyes 2014-08-06
  • 打赏
  • 举报
回复
引用 8 楼 zengzhengyou 的回复:
input type='submit'会直接提交到当前页面的.cs中吧 onserverclick事件应该不会触发。 换成一般的input type='button'试试行否。
还是不行
信不信由你zzy 2014-08-06
  • 打赏
  • 举报
回复
input type='submit'会直接提交到当前页面的.cs中吧 onserverclick事件应该不会触发。 换成一般的input type='button'试试行否。
Falleyes 2014-08-06
  • 打赏
  • 举报
回复
引用 6 楼 marswangbo 的回复:
应该用<asp:button>服务器控件才能触发的吧。
不,这个也可以触发的。这是美工做好前台后,后台程序员为了不变动美工人员对控件样式的设计,而在原有代码基础上加几个属性就可以通过后台访问控件。设置属性,并且加上runat="server",它和服务器控件是等效的。
marswangbo 2014-08-06
  • 打赏
  • 举报
回复
应该用<asp:button>服务器控件才能触发的吧。
Falleyes 2014-08-06
  • 打赏
  • 举报
回复
引用 3 楼 jshi123 的回复:
这个写法没什么错。可能是页面上其它代码影响,或者重定向到Default.aspx后,又重定向到其它页面。 单独把这两段代码提出来做一个测试是正确的。
不对,有个页面使用相同的样式表和样式,按钮点击有效,应该是别的地方,我再找找!
Falleyes 2014-08-06
  • 打赏
  • 举报
回复
引用 3 楼 jshi123 的回复:
这个写法没什么错。可能是页面上其它代码影响,或者重定向到Default.aspx后,又重定向到其它页面。 单独把这两段代码提出来做一个测试是正确的。
嗯,单独提取出来,如果不加样式表就没有问题,但是加上样式表调用就不行了。我把样式表代码贴出来你帮忙看一下吧!

#container {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: visible;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: center center;
    visibility: visible;
    left: 0;
    top: 0;
}

#login {
    border-radius: 8px;
    position: absolute;
    z-index: 2;
    height: 70%;
    width: 25%;
    left: 35.5%;
    top: 94px;
    right: 35.5%;
    bottom: 35.5%;
    background-color: rgba(0,0,0,0.4);
}

#container #login #form1 {
    position: absolute;
    left: 4px;
    top: 102px;
    width: 307px;
    height: 457px;
}

#container #login #form1 #loginbutton {
        border-radius: 12px;
        background-color: rgba(134,152,126,0.4);
        position: absolute;
        top: 56%;
        width: 85px;
        height: 45px;
        font-family: "楷体";
        font-size: 18px;
        font-weight: bold;
        color: #CCC;
        border: 1px solid #716C2A;
        left: 36%;
    }
jshi123 2014-08-06
  • 打赏
  • 举报
回复
这个写法没什么错。可能是页面上其它代码影响,或者重定向到Default.aspx后,又重定向到其它页面。 单独把这两段代码提出来做一个测试是正确的。
jsonchu 2014-08-05
  • 打赏
  • 举报
回复
//FindCode.aspx.cs
protected void Submit_Click(object sender, EventArgs e)
{
   Response.Redirect("Default.aspx");
}
你这个是服务端控件的方法!需要拖aspx控件才能调用。 如果是html,建议用简单的ashx处理程序就可以了。或者用jquery ajax.
<--! FindCode.aspx -->
<form id="form1" name="form1" runat="server">
   <p>
      <label for="name">
         工号:<br />
         <input id="name" type="text" name="name" placeholder="ID" runat="server" />
      </label>
   </p>
   <br />
   <label for="email">
      邮箱地址:
      <input id="email" type="text" name="email" placeholder="Email" runat="server" />
   </label>
   <input id="loginbutton" type="submit" name="loginbutton" value="发送邮件"
      runat="server" onserverclick="Submit_Click" />
</form>
这个是表单,当点击submit的时候提交给form1。 先引用jquery的js. $.post(url,{data:value},function(){})可以实现
wangnaisheng 2014-08-05
  • 打赏
  • 举报
回复

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧