0
我設置了一個存儲過程,它使用一個輸入參數(@QuestionID
)檢索單個記錄(記錄來自多個數據表的元素)。存儲過程的設置參數
已經創建了一個datareader,並在我的網頁上用這些值填充值。
我不知道該怎麼做,就是將某個輸入參數的值設置爲關閉某人點擊該鏈接以從列表(在引用頁面上)打開「詳細信息」頁面。
參考頁面,用戶點擊詳細記錄和QuestionID
設置:
<asp:GridView ID="GridView1" runat="server" Caption="Submitted Questions" AllowSorting="True"
CaptionAlign="Left" EmptyDataText="You have not submitted any Questions." PageSize="5"
AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="QuestionID" runat="server" Text='<%# Eval("QuestionID") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="KeyObjective" HeaderText="Key Objective" ItemStyle-Width="150" />
<asp:BoundField DataField="SubmitDate" HeaderText="Submitted Date" ItemStyle-Width="50" />
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="Details" runat="server" Text="View Details" PostBackUrl='<%# "~/Submit/Submit_Detail.aspx?Id=" + Eval("QuestionID") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="Clone" runat="server" Text="Create Clone" PostBackUrl='<%# "~/Submit/Submit_Clone.aspx?Id=" + Eval("QuestionID") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
當前硬編碼的1
@QuestionID
值
DataReader的控制,我需要得到這個接受查詢字符串值是從發送引用頁:
string sConstr = ConfigurationManager.ConnectionStrings["CS1"].ConnectionString;
SqlConnection Conn = new SqlConnection(sConstr);
using (Conn)
{
SqlCommand command = new SqlCommand("QuestionDetail", Conn);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("@QuestionID", SqlDbType.BigInt));
command.Parameters["@QuestionID"].Value = 1;
Conn.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
txt_author.Text = reader["Author"].ToString();
reader.Close();
}
試圖實現這一點,但價值似乎並沒有通過。 ASP.NET和C#非常新。輸入:command.Parameters [「@ QuestionID」]。Value = Convert.ToInt32(Request [「QuestionID」]); –
'Request'集合將包含在請求期間傳入或可用的許多值。所以如果你有一個類似於'Page.aspx?id = 42'的querystring參數,那麼'id'就是關鍵,'42'就是值。因此,如果您需要在代碼隱藏中訪問它,您應該可以使用'Request [「id」]'來解決它,如上例所示。你指出你的Details鏈接會觸發這個,並且它看起來是格式「〜/ Submit/Submit_Clone.aspx?Id = {value}」,所以你可能會使用Request [「Id」]來匹配這個鍵/值。 –
明白了,應該看到沒有幫助。謝謝一堆。 –