だから私は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要素にnameプロパティを設定することもできません。
誰かが私がしていることを達成するためのより良い/適切な方法を知っていますか?ajaxControlToolkitコンボボックスはユーザーにとって便利なので、使い続けたいと思いますが、友人の話を聞くのではなくjQueryを使い続けたいと思っていますが、切り替えるには遅すぎます。
運が悪かったのでここを見ました
そしてここ
そしてここ
http://msdn.microsoft.com/en-us/library/6c3yckfw.aspx
そしてPreviousPage.FindControlを試しましたが、常にnullになります。
御時間ありがとうございます!
編集:
AjaxControlToolKitは避けてください。怠惰になり、甘いUI要素をドラッグ->ドロップしたい場合は便利ですが、単純なものを機能させるのは頭痛の種です。jQueryを使用します。