authorid
選択した作成者に一致する非表示フィールドに渡す必要があるテキスト ボックスがあります。次に、それを response.redirect url に渡す必要がauthorID
あります。これにより、ボタンをクリックしたときに詳細な著者ページが開き、その著者の経歴情報が表示されます。
以下は私のコードですが、動作しません。
作成者の名前が選択されるたびに正しい authorid が渡されるようにボタンを機能させるにはどうすればよいですか?
ImageButton btnFindAuthors = sender as ImageButton;
HiddenField myhiddenfield = btnFindAuthors.NamingContainer.FindControl("hiddenID") as HiddenField;
int myID = Convert.ToInt32(myhiddenfield.Value);
Response.Redirect(String.Format("~/Authors_Detail.aspx?id=" + myhiddenfield));
マークアップ:
<asp:TextBox runat="server" ID="txtAuthors" Text='<%# Bind("AuthorName") %>' />
<asp:ImageButton runat="server" ID="btnFindAuthors" OnClick="btnFindAuthors"/>
<ajaxToolkit:AutoCompleteExtender ID="fndAuthors" runat="server"
DelimiterCharacters="" Enabled="True"
ServicePath="~/WebServices/AuthorsWebService.asmx"
ServiceMethod="AutoComplete"
TargetControlID="txtAuthors" MinimumPrefixLength="3" />
<asp:HiddenField ID="hiddenID" runat="server" Value='<%#Eval("AuthorID") %>' />
著者ID:
<asp:SqlDataSource runat="server" ID="sqlAuthors"
ConnectionString="<%$ ConnectionStrings:Libros %>"
ProviderName="<%$ ConnectionStrings:Libros.ProviderName %>"
SelectCommand="SELECT * FROM Authors
WHERE AuthorName LIKE ('%' + @Authorname + '%')
ORDER BY AuthorName"
<selectParameters>
<asp:ControlParameter ControlID="txtAuthors" Name="authorname" />
</selectParameters>
</asp:SqlDataSource>