【发布时间】:2012-08-20 22:36:24
【问题描述】:
所以我有 2 页。它们都具有相同的母版页,并且是相同 Web 应用程序的一部分。我正在尝试将一个页面提交给另一个页面。在提交页面上,我有一些元素,例如
<ajaxToolkit:ComboBox ID="cmboOptions" AutoCompleteMode="SuggestAppend"
CaseSensitive="false" ItemInsertLocation="Append" runat="server" DropDownStyle="DropDownList">
<asp:ListItem></asp:ListItem>
<asp:ListItem Text="Option 1" Value="opt1"></asp:ListItem>
<asp:ListItem Text="Option 2" Value="opt2"></asp:ListItem>
</ajaxToolkit:ComboBox>
我正在使用
<asp:Button ID="btnSubmit" runat="server" Text="Submit"
PostBackUrl="~/Results.aspx" />
提交页面。
在页面加载后面的代码中的结果页面上我有
NameValueCollection nvc = Request.Form;
string selectedOption = nvc["cmboOptions"];
如果我在调试时查看 NVC,我可以看到
ctl00$MainContent$cmboOptions$TextBox
值为“选项 1”,但我的字符串仍包含 null 值。我什至不想通过硬编码混淆的 ID 来获取值,而且我无法在 ASP.net 元素上设置名称属性。
有没有人知道更好/正确的方法来完成我正在做的事情?我想坚持使用 ajaxControlToolkit 组合框,因为它们对用户很好,尽管我希望我坚持使用 jQuery 而不是听我的朋友的话,现在切换为时已晚。
我看这里没有任何运气
这里
Read Post Data submitted to ASP.Net Form
这里
http://msdn.microsoft.com/en-us/library/6c3yckfw.aspx
我尝试了 PreviousPage.FindControl,但我总是得到 null。
感谢您的宝贵时间!
编辑:
避免使用 AjaxControlToolKit。如果您想偷懒并拖放甜蜜的 UI 元素,那就太好了,但让简单的事情正常工作只是一件令人头疼的事情!使用 jQuery。
【问题讨论】:
-
您的代码似乎没问题,问题可能是由 ajax 组合框引起的,尝试任何 asp 控件来检查您的代码。也可以尝试我在回答中提到的上一页。
-
检查我更新的答案,它正在工作。
标签: asp.net forms post submit namevaluecollection