私は選択時にテーブルを照会し、テキストエリアにデータを表示するラジオボタンリストを持っています。今私はラジオボタンの値がURL内に表示されるように自分のコードを強化しようとしています。そうすれば、ラジオの選択肢(つまり記事)によって表示されるコンテンツにユーザーのリンクを送ることができます。asp.net、radiobuttonlist、URLにレコード番号を表示
これまでのところ、ユーザーが選択すると「Article_PK」をURL内に配置できました。今私はちょうど私のdatabindを再び働かせる方法に立ち往生している。ですから、基本的には、テキストエリア内のデータを表示するためにurlの "Article_PK"の値を読み取る必要があります。その日を救うために何か狂ったコーディングスキルを持つ人が必要です!
public partial class frm_Articles : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
RadioButtonList1.SelectedIndex = 0;
RadioButtonList1.DataBind();
}
else
{
string strRedirect;
strRedirect = "frm_Articles.aspx?Article_PK=" + RadioButtonList1.SelectedValue.ToString();
Response.Redirect(strRedirect);
}
}
protected void SqlDataSource2_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
//
}
protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
try{
e.Command.Parameters["@URL_FK"].Value = Session["URL_PK"];
}
catch (Exception ex)
{
}
}
}
--------背後にあるコード----- ASPX
<tr valign="top">
<td width="75%">
<!-- Body -->
<asp:DetailsView ID="DetailsView3" runat="server" AutoGenerateRows="False" DataSourceID="SqlDataSource2" Height="100%" Width="100%" GridLines="None">
<Fields>
<asp:TemplateField HeaderText="ArticleText" ShowHeader="False" SortExpression="ArticleText">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("ArticleText") %>'></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="*"></asp:RequiredFieldValidator>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("ArticleText") %>'></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="*"></asp:RequiredFieldValidator>
</InsertItemTemplate>
<ItemTemplate>
<%# Eval("ArticleText") %>
</ItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:CSFConnectionString %>" SelectCommand="SELECT [ArticleText], [Title] FROM [TEST_Article] WHERE ([Article_PK] = @Article_PK)" onselecting="SqlDataSource2_Selecting">
<SelectParameters>
<asp:ControlParameter ControlID="RadioButtonList1" DefaultValue="1" Name="Article_PK" PropertyName="SelectedValue" Type="Int32" ConvertEmptyStringToNull="True" />
</SelectParameters>
</asp:SqlDataSource>
</td>
<td width="25%" align="left" valign="top">
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TESTConnectionString %>" SelectCommand="SELECT Article_PK, ArticleText, Score, Title, Url_FK FROM TEST_Article WHERE (Url_FK = @URL_FK)" onselecting="SqlDataSource1_Selecting">
<SelectParameters>
<asp:Parameter DefaultValue="0" Name="Url_FK" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
<h2>Articles</h2>
<h2>Select an article below:</h2>
<asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource1" DataTextField="Title" DataValueField="Article_PK">
</asp:RadioButtonList>
<br />
</td></tr>
「URL_PK = 2」のページに実際に追加して、実際にクエリ文字列を取り込んで処理しましたか?または何らかの理由でオプションではないクエリ文字列を扱っていますか? – Refugee
私はクエリ文字列を操作できます。 –