2011-12-19 5 views
1

私は2つのWebページを持っています。最初のページはGridViewで、2番目のページはFormViewです。私はGridViewからDataKeyの値を取得してFormViewページに渡すことができました。今度は、選択クエリにそのキー値を使用する必要があります。どのように私はその値を割り当てるのですか?コード例はC#で役に立ちます。FormView Datakeyの値

これは私の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

これは、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> 

SelectCommandプロパティでWHERE句に注目してください。残りのクエリの様子はわかりませんが、最後にそれを持っていると、FormViewを必要なものに絞り込む必要があります。

これにより、クエリ文字列の値が自動的にプルされ、FormViewに適切なレコードがロードされます。

+0

素晴らしい作品です!ありがとうございました。 – Craig

+0

@Craig喜んで助けになる! – jadarnel27

関連する問題