Не заходя в javascript, я стараюсь использовать обработчик событий Check_Clicked, чтобы заполнить мою информацию о доставке, если она совпадает с платежной информацией в моем FormView. Это должно быть очень просто, но я не смог правильно разобраться с сантехникой.
Я следую примеру в http://msdn.microsoft.com/en-us/library/4s78d0k1%28v=vs.71%29.aspx#Y617, но хотел бы использовать мой FormView вместо Form1.
Значение, которое отображается при установке флажка, - System.Web.UI.WebControls.TextBox
<asp:CheckBox id="SameCheckBox" AutoPostBack="True"
Text="Same as billing." TextAlign="Right"
OnCheckedChanged="Check_Clicked" runat="server"/>
protected void Check_Clicked(Object sender, EventArgs e)
{
CheckBox SameCheckBox = (CheckBox)FormView1.FindControl("SameCheckBox");
TextBox BillingFirst = (TextBox)FormView1.FindControl("BillingFirstNameTextBox");
TextBox ShippingFirst = (TextBox)FormView1.FindControl("ShippingFirstNameTextBox");
if (SameCheckBox.Checked)
{
ShippingFirst.Text = BillingFirst.ToString();
}
else
ShippingFirst = null;
}
В дополнение к приведенным ниже решениям я добавлю для других назидание; Другая проблема, с которой я столкнулся - это данные DropdownList. Вот что сработало для меня:
DropDownList BillingState = FormView1.Row.FindControl("BillingStateTextBox") as DropDownList;
DropDownList ShippingState = FormView1.Row.FindControl("ShippingStateTextBox")as DropDownList;
ShippingState.SelectedValue = BillingState.Text;