C # вопрос привязки данных - PullRequest
1 голос
/ 14 декабря 2010

ОК, я довольно новичок в веб-приложениях, некоторое время занимался Windows-приложениями в VB, но я переключаюсь на C # для веб-приложений.Итак, у меня есть текстовое поле, и у меня есть SQLDataSource с именем SQLDataSource1.Как в мире связать источник с текстовым полем, чтобы при его загрузке он заполнял его?

Может кто-нибудь привести примеры?

Я пробовал следующее,

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

Но я получаю нечто иное, чем значение SQLDataSource.Я получаю это: System.Web.UI.WebControls.SqlDataSource

Спасибо

Ответы [ 2 ]

0 голосов
/ 14 декабря 2010

Один из способов - использовать элементы управления в FormView или DetailsView, затем установить для DataSourceID FormView значение SqlDataSource и в своих элементах управления связать их следующим образом: asp: Label id = ... Text = '<% # DataBinder.Eval (Container.DataItem, "MyFieldName")%> '/>, затем в вашем OnInit страницы вы можете вызвать MyFormView.DataBind ();

0 голосов
/ 14 декабря 2010

Я нашел ответ здесь на Forum.ASP.Net

Вот что сказал Саму Чжан (Поддержка интернет-сообщества Microsoft):

трудно привязать текстовое поле к sqldatasource.Обычно мы связываем элементы управления данными, такие как FormView и GridView, с sqldatasource и помещаем один элемент управления TextBox в их шаблон.И вы можете вызвать метод FindControl FormView для получения текстового поля.

См. Мой пример.

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>
...