フォームに 1 回から 20 回の範囲で userControl が動的に追加されています。コントロールには、ハイパーリンク フィールド (表示) と参照フィールド (非表示) が含まれます。問題は、ハイパーリンクが参照フィールドの値をリンクされたページ パラメータとして渡していないことです。
userControl コーディングは次のようになります。
<asp:Hyperlink ID="childLink" Enabled="true" DataNavigateUrlFields="aSeq"
DataNavigateUrlFormatString="~/Header.aspx?aSeq={0}" NavigateUrl="~/Header.aspx"
runat="server><%# DataBinder.Eval(Container, "DataItem.cName") %> </asp:HyperLink>
したがって、ハイパーリンクはヘッダー ページを開き、次のような「aSeq」フィールドの値を渡す必要があります。
<asp:HyperLink ID="aSeq" Enabled="true" DataNavigateUrlFields="aSeq" DataNavigateUrlFormatString="~/Header.aspx?aSeq={0}" NavigateUrl="~/Header.aspx"
runat="server"><%# DataBinder.Eval(Container,"DataItem.genePK") %></asp:HyperLink>
Header.aspx ページのページ読み込みに移動しますが、Request.QueryString["aSeq"]
常に NULL です。Page_Load には短いコード ブロックがあります。
string aRequest = Request.QueryString["aSeq"];
if (aRequest==null)
{
PopulateHeader("GKEAAHDI");
}
else
{
PopulateHeader(aRequest);
}
「aSeq」とタグ付けされたフィールドの値を取得していないと推測することしかできません。テキストボックスではデータバインダーのコードブロックが許可されないため、ハイパーリンクを使用しました。
私が何をした!?