【发布时间】:2020-06-03 06:15:04
【问题描述】:
我想根据用户选择的 accountType 更改应显示的文本框。但是,附加到 select 的 onchange 事件没有被触发。有什么注意事项吗?
这是选择标签。
<div class="col-md-12 form-group" style="color:black">
<select name="accountTypes" id="accountTypes" runat="server" onchange="javascript:document.forms[0].submit();" onserverchange="accountType_Changed">
<option value="customer">Customer</option>
<option value="pharmacy">Pharmacy</option>
<option value="doctor">Doctor</option>
</select>
</div>
accountType_Changed 函数是:
void accountType_Changed(Object sender, EventArgs e)
{
cnic.Text = accountTypes.SelectedItem.Value;//or accountTypes.SelectedItem.Text
}
编辑: 根据@mahesh_b 提出的解决方案,进行了以下修改以解决该问题:
protected void Page_Load(object sender, EventArgs e)
{
this.accountTypes.Attributes.Add("onchange", Page.ClientScript.GetPostBackEventReference(this.accountTypes, this.accountTypes.ID));
}
protected void accountType_Changed(object sender, EventArgs e)
{
cnic.Text = "Working!!!"; //accountTypes.SelectedItem.Value;//or accountTypes.SelectedItem.Text
}
编辑 2:添加部分刷新后的布局渲染问题
登录.aspx:
<asp:ScriptManager EnablePartialRendering="true" ID="scriptManager" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<section class="login_part section_padding ">
<div class="container">
<div class="row align-items-center">
<div class="col-lg-6 col-md-6">
<div class="login_part_text text-center">
<div class="login_part_text_iner">
<h2>New to PHS?</h2>
<div class="row">
<div class="column col-md-12 form-group p_star">
<div class="col-md-12 form-group p_star">
<asp:TextBox ID="firstname" placeholder="First Name" class="form-control" runat="server">
</asp:TextBox>
</div>
</div>
<div class="column col-md-12 form-group p_star">
<div class="col-md-12 form-group p_star">
<asp:TextBox ID="lastname" placeholder="Last Name" class="form-control" runat="server">
</asp:TextBox>
</div>
</div>
</div>
<div class="col-md-12 form-group p_star">
<asp:TextBox ID="cnic" placeholder="CNIC" class="form-control" runat="server">
</asp:TextBox>
</div>
<div class="col-md-12 form-group p_star">
<asp:TextBox ID="email" placeholder="Email" class="form-control" runat="server">
</asp:TextBox>
</div>
<div class="col-md-12 form-group p_star">
<asp:TextBox ID="pass" placeholder="Password" class="form-control" runat="server">
</asp:TextBox>
</div>
<div class="col-md-12 form-group" style="color:black">
<select name="accountTypes" id="accountTypes" runat="server" onchange="javascript:document.forms[0].submit();" onserverchange="accountType_Changed">
<option value="customer">Customer</option>
<option value="pharmacy">Pharmacy</option>
<option value="doctor">Doctor</option>
</select>
</div>
<br /><br />
<div class="col-md-12 form-group p_star">
<asp:TextBox ID="taxNo" placeholder="Tax No" class="form-control" runat="server">
</asp:TextBox>
</div>
<div class="col-md-12 form-group p_star">
<asp:TextBox ID="pName" placeholder="Pharmacy Name" class="form-control" runat="server">
</asp:TextBox>
</div>
<div class="col-md-12 form-group p_star">
<asp:TextBox ID="pAddress" placeholder="Pharmacy Address" class="form-control" runat="server">
</asp:TextBox>
</div>
<div class="col-md-12 form-group p_star">
<asp:TextBox ID="cAddress" placeholder="Address" class="form-control" runat="server">
</asp:TextBox>
</div>
<div class="col-md-12 form-group p_star">
<asp:TextBox ID="docID" placeholder="Doctor Id" class="form-control" runat="server">
</asp:TextBox>
</div>
<div class="col-md-12 form-group p_star">
<asp:TextBox ID="experience" placeholder="Experience (Years)" class="form-control" runat="server">
</asp:TextBox>
</div>
<div class="col-md-12 form-group p_star">
<asp:TextBox ID="expertise" placeholder="Expertise (Specialization)" class="form-control" runat="server">
</asp:TextBox>
</div>
<br />
<p>Create an account today and avail the best deals on medics.</p>
<asp:Button ID="registerButton" class="btn_3" runat="server" width="50%" Text="Create Account" OnClick="createAccount_Clicked"/>
</div>
</div>
</div>
<div class="col-lg-6 col-md-6">
<div class="login_part_form">
<div class="login_part_form_iner">
<h3>Welcome Back ! <br>
Please Sign in now</h3>
<form class="row contact_form" action="#" method="post" novalidate="novalidate">
<div class="col-md-12 form-group p_star">
<input type="text" class="form-control" id="name" name="name" value=""
placeholder="Username">
</div>
<div class="col-md-12 form-group p_star">
<input type="password" class="form-control" id="password" name="password" value=""
placeholder="Password">
</div>
<div class="col-md-12 form-group">
<button type="submit" value="submit" class="btn_3">
log in
</button>
<a class="lost_pass" href="#">forget password?</a>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
</ContentTemplate>
</asp:UpdatePanel>
这些图像显示了选择的原始布局以及我更改值后加载的内容:
这是更改 accountType 中的值后加载的内容:
我怎样才能保持原来的布局?
【问题讨论】: