2010-12-14 91 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()。