如何在asp.net webform中处理不同的表单提交

时间:2014-10-07 13:01:44

标签: c# asp.net forms

我有四个单独的部分,我想在我的页面中处理表单提交(当用户代理在移动设备时显示第1节和第2节):

第1节(手机:

<div id="mSearchB" class="mSearchTextHolder">
    <div class="mSearchInnerTextHolder">
        <input type="search" placeholder="Search" class="txtMSearch" id="txtMSearch" />
    </div>
</div>

#1的图片:

enter image description here

第2节(移动):

<div class="brClear loginHolder floatLeft">
    <input type="text" placeholder="Username" id="txtUsername" class="txtUsername styledTB floatLeft" />
</div>
<div class="floatLeft">
    <input type="password" placeholder="Password" id="pwPassword" class="txtPassword styledTB floatLeft" />
</div>
<div class="floatLeft">
    <a href="JavaScript:void(0);" title="Login" class="styledBtn logBtn floatLeft lightLinks">Login</a>
</div>

(#2的图像尚未构建,但与#1类似)

第3节(非移动):

<div class="searchBox">
    <input type="text" value="" placeholder="Search" id="searchB" />
    <a href="JavaScript:void(0);" title="Search"><img src="theImages/searchWhite.png" alt="Search" title="Search" class="searchImg" /></a>
</div>

第4节(非移动):

<div class="brClear loginHolder">
    <input type="text" placeholder="Username" id="txtUsername" class="txtUsername styledTB floatLeft" />
    <input type="password" placeholder="Password" id="pwPassword" class="txtPassword styledTB floatLeft" />
    <a href="JavaScript:void(0);" title="Login" class="styledBtn logBtn floatLeft lightLinks">Login</a>
</div>

#3和#4的图片:

enter image description here

对于#3和#4,如果我点击搜索图标,则占位符的所有三个文本框都会变为空白。

我没有在上面的任何一个上面放置任何form标签,因为asp.net页面已经在页面创建时插入了一个自动。

如何单独处理每个提交,因此在一个文本框中单击或按Enter键不会为所有提交整个表单?

1 个答案:

答案 0 :(得分:2)

  

我没有在上面的任何一个上面放置任何表单标签,因为asp.net页面已经在页面创建时插入了一个自动。

听起来像WebForms。在这种情况下,基本上,你分开你的表格帖子。整个页面是一个大表单,任何回发后触发事件都会将整个表单提交给服务器。

在WebForms中完成的方法是为单独的按钮提供单独的服务器端点击事件处理程序。因此,如果“子表单1”具有Button1而“子表单2”具有Button2,则每个表单都有自己的服务器端处理程序:

void Button1_Click(Object sender, EventArgs e)
{
    // Button1 was clicked, handle it here
}

void Button2_Click(Object sender, EventArgs e)
{
    // Button2 was clicked, handle it here
}

对于在其他控件或类似事项上按Enter键的“默认”点击操作,您可以将每个“子表单”包装在Panel控件中并设置its DefaultButton property