FormView Datakey值

时间:2011-12-19 17:37:42

标签: c# asp.net

我有两个网页 - 第一个是GridView,第二个是FormView。我能够从DataKey检索GridView值并将其传递到FormView页面。现在我需要将该键值用于我的选择查询。我该如何分配该值?代码示例将有助于C#。

这是我的page_load代码:

protected void Page_Load(object sender, EventArgs e)
{
    string CompanyStr = Server.HtmlEncode(Request.QueryString["param1"]);
    string ClientKey = Request.QueryString["param2"];

    Label lbl = FormView1.FindControl("CompanyID") as Label;
    lbl.Text = CompanyStr;
 }

这是FormView代码:

<asp:FormView ID="FormView1" runat="server" DefaultMode="Insert" DataKeyNames="ClientKey"
    DataSourceID="SqlDataSource1" onitemcommand="onItemCommand">

ClientKey是需要设置的变量。

1 个答案:

答案 0 :(得分:1)

听起来您希望在SQLDataSource1标记(FormView声明中引用的标记)中使用选择参数来执行此操作。这应该有效:

<asp:SqlDataSource ID="SQLDataSource1" runat="server" 
    ConnectionString="Your Connection Strong" SelectCommand="SELECT * FROM [yourTableName] WHERE ClientKey = @ClientKey">
    <SelectParameters>
        <asp:QueryStringParameter Name="ClientKey" QueryStringField="param2" />
    </SelectParameters>
</asp:SqlDataSource>

注意WHERE属性中的SelectCommand子句。我不知道您的查询的其余部分是什么样的,但最后应该将您的FormView过滤到您想要的内容。

这应该自动从查询字符串中提取值,并且FormView将加载正确的记录。