我有一个Bootstrap Modal“addModal”,可以通过单击按钮打开。当我在名称字段和保存按钮(btnSubmit_Click)中添加名称时,我的Request.Form(“nameid”)给出一个空值。我是C#和ASPX的新手,所以我可能会在这里找到一些明显的东西。
我在同一页面中有两个模式,并且之前遇到问题正确地回传(earlier post)并尝试解决此问题。
我必须更改我之前的函数才能接收HtmlButton而不是Button,因为这是发件人类型。
任何方向都会受到赞赏。
ASPX:
<div id="addModal" class="modal fade" tabindex="-1" method="POST" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-body">
<div class="row">
<form role="form">
<fieldset>
<div class="form-group">
<label class="col-sm-2 control-label" for="textinput">Name</label>
<div class="col-sm-6">
<input type="text" name="nameid" id="nameid" class="form-control">
</div>
</div>
</fieldset>
<div class="modal-footer">
<button type="submit" class="btn btn-default">Cancel</button>
<button type="submit" id="btnSubmitItem" class="btn btn-primary" OnServerClick="btnSubmit_Click" data-dismiss="modal" runat="server">Save</button>
</div>
</form>
</div>
</div>
</div>
C#:
public void btnSubmit_Click(Object sender, EventArgs e)
{
HtmlButton clickedButton = (HtmlButton)sender;
Response.Write("<script language=javascript>alert('" + Request.Form("nameid") +"');</script>");
if ( clickedButton != null)
{
string name = String.Format("{0}", Request.Form["nameid"]);
}
}
答案 0 :(得分:1)
nameid
需要一个名字&#39;属性。
输入类型=&#34;文字&#34; name =&#34; nameid&#34; id =&#34; nameid&#34;类=&#34;形状控制&#34;
<div id="addModal" class="modal fade" tabindex="-1" method="POST" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-body">
<div class="row">
<form role="form">
<fieldset>
<div class="form-group">
<label class="col-sm-2 control-label" for="textinput">Name</label>
<div class="col-sm-6">
<input type="text" name="nameid" id="nameid" class="form-control">
</div>
</div>
</fieldset>
<div class="modal-footer">
<button type="submit" class="btn btn-default">Cancel</button>
<button type="submit" id="btnSubmitItem" class="btn btn-primary" OnServerClick="btnSubmit_Click" data-dismiss="modal" runat="server">Save</button>
</div>
</form>
</div>
</div>
</div>
答案 1 :(得分:1)
您可能希望切换到实际的aspnet控件。像TextBox一样。
<div class="form-group">
<asp:Label ID="nameidLabel" runat="server" Text="Name" AssociatedControlID="nameid"></asp:Label>
<div class="col-sm-6">
<asp:TextBox ID="nameid" runat="server" CssClass="form-control"></asp:TextBox>
</div>
</div>
然后在代码背后
public void btnSubmit_Click(Object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "alerter", "alert('" + nameid.Text + "')", true);
}
如果您使用网络表单,请删除该form
标记。页面上应该只有一个。
并使用ScriptManager
代替Response.Write