表格发布到另一页面

时间:2013-10-23 18:03:06

标签: c# jquery asp.net http-post html-form

我对C#和asp.net相当新,并且无法显示表单中提交的内容。表单元素是标记。下拉信息从数据库中提取并正确显示。它只是在提交表单后将其发布到另一页面是我遇到问题的地方。任何帮助将不胜感激。

Contact.aspx:

<form action="Default.aspx" method="post" data-transition="pop">
<div data-role="fieldcontain">
    <label for="topEmails">Business Entity ID:</label>
    <select name="topEmails" id="topEmails" data-native-menu="false" 
            runat="server">
    </select>
</div>
<input type="submit" data-iconpos="right" data-inline="true" 
       data-icon="plus" name="sendMessage" id="sendMessage" value="Send Info">
</form>

Contact.aspx.cs:

AdventureWorks2012DataContext db = new AdventureWorks2012DataContext();

var emails = (from b in db.EmailAddresses
              select new { b.EmailAddressID, b.BusinessEntityID }).Take(20);
topEmails.DataTextField = "BusinessEntityID";
topEmails.DataValueField = "BusinessEntityID";
topEmails.DataSource = emails;
topEmails.DataBind();

Default.aspx.cs:

FormSuccessBID.InnerHtml = "Business Entity ID: " +  Request.Form["topEmails"] + "";

为什么这不起作用的任何想法?

更新

Contact.aspx:

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
<h2 style="text-align: center;">Contact Kyle</h2>

<form action="Default.aspx" method="post" data-transition="pop">
    <div data-role="fieldcontain">
        <label for="userFName">First Name:</label>
        <input type="text" name="firstName" id="uFName">
    </div>
    <div data-role="fieldcontain">
        <label for="userLName">Last Name :</label>
        <input type="text" name="lastName" id="uLName">
    </div>
    <div data-role="fieldcontain">
        <label for="productsCategories">Products:</label>
        <select name="productCategories" id="productCategories" data-native-menu="false" runat="server"></select>
    </div>
    <div data-role="fieldcontain">
        <label for="topEmails">Business Entity ID:</label>
        <select name="topEmails" id="topEmails" data-native-menu="false" runat="server"></select>
    </div>
    <input type="submit" data-iconpos="right" data-inline="true" data-icon="plus" name="sendMessage" id="sendMessage" value="Send Info">
</form>
</asp:Content>

1 个答案:

答案 0 :(得分:0)

您在表单定义中缺少“runat ='server'”。

在ASP.NET中,每页还允许一个表单。如果你试图在那里放置多个表格,不确定你发布的是什么,但是如果你这样,它就不会起作用。

我认为你需要做的就是在页面上有一个ASP.NET按钮,将postbackURL设置为你想要去的页面。 (当然,您需要以服务器端的形式执行此操作)

我认为您正在将ASP.NET方法与其他不同的技术混合使用。 (从它的外观来看,你可能使用过经典的ASP或PHP?)

如果由于某种原因无法使用.NET,则该字段的ID /名称将不会是您所期望的。您需要检查表单帖子并找到它的值 - 类似于“clt00_somethingelse_topEmails”的行。 (同样,如果你使用.NET的做事方式,这将会变得更容易,但你可能不需要这样做)