2010-12-14 90 views
1

好吧,所以我對Web應用程序來說相當陌生,在VB中做了一段時間的Windows應用程序,但我切換到C#的Web應用程序。好的,我有一個文本框,我有一個叫SQLDataSource1SQLDataSource。如何在世界上將源代碼綁定到文本框,以便在加載時填充它?C#數據綁定問題

有人能給我一些例子嗎?

我用盡以下,

Label1.Text = SqlDataSource1.SelectParameters.ToString(); 

但我得到比在SqlDataSource的價值以外的東西。我得到這個:System.Web.UI.WebControls.SqlDataSource

感謝

回答

0

我找到了答案在這裏Forum.ASP.Net

這裏是已經被薩姆·張(微軟在線社區支持)說:

很難將文本框綁定到sqldatasource。我們通常將數據控件(如FormView和GridView)綁定到sqldatasource,並將一個TextBox控件放入其模板中。您可以調用FormView的FindControl方法來檢索文本框。

查看我的示例。

protected void Button1_Click(object sender, EventArgs e) 
{ 
    TextBox box = FormView1.FindControl("TextBox1") as TextBox; 

} 

<form id="form1" runat="server"> 
<div> 
    <asp:FormView ID="FormView1" runat="server" DataKeyNames="countryid" DataSourceID="SqlDataSource1"> 


     <ItemTemplate> 
      countryid: 
      <asp:Label ID="countryidLabel" runat="server" Text='<%# Eval("countryid") %>'></asp:Label><br /> 
      countryname: 
      <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("countryname") %>'></asp:TextBox><br /> 
     </ItemTemplate> 
    </asp:FormView> 
    </div> 
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>" 
     SelectCommand="SELECT * FROM [country]"></asp:SqlDataSource> 
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="retrieve value" /> 
</form> 
+0

難道我只是在頁面加載使用類似於:Textbox1.text = SqlDataScource1(); ?? – GabrielVa 2010-12-14 16:02:08

+0

@gabrielVa我不這麼認爲,我認爲這不是爲了這樣使用而設計的。 – LaGrandMere 2010-12-14 16:12:24

+0

好吧,試試看看。你會認爲它就像一個Win App一樣。 – GabrielVa 2010-12-14 16:15:55

0

一種方法是有你的控件一個FormView或DetailsView控件,然後設置FormView控件SqlDataSource控件的DataSourceID的,在你的控制,你將它們綁定像這樣:ASP:標籤ID = ...文本=」然後在你可以調用MyFormView.DataBind()的頁面的OnInit上;然後,你可以調用MyFormView.DataBind()。