我有一些由jquery和/或JS填充的动态html项,但由于某种原因,C#只能看到加载页面时的原始值。
<form class="form-horizontal">
<div class="form-group">
<label class="col-sm-3">Date</label>
<div class="col-sm-9">
<asp:ToolkitScriptManager ID="tsm" runat="server" />
<asp:TextBox CssClass="btn btn-default pull-right" ID="calBtn" runat="server" Style="width: 150px">Click Here</asp:TextBox>
<asp:CalendarExtender ID="calExt" TargetControlID="calBtn" runat="server" />
</div>
</div>
<div class="form-group">
<label class="col-sm-5">
Start (Actual Begin Time)</label>
<div class="col-sm-7">
<%--<input runat="server" id="startTime" class="time btn btn-default pull-right" type="text" autocomplete="off" style="width: 150px" />--%>
<asp:TextBox runat="server" ID="startTime" CssClass="time btn btn-default pull-right" AutoCompleteType="Disabled" Style="width: 150px"></asp:TextBox>
</div>
</div>
<div class="form-group">
<label class="col-sm-4">End</label>
<div class="col-sm-8">
<%--<input runat="server" id="endTime" class="time btn btn-default pull-right disabled" type="text" autocomplete="off" style="width: 150px" />--%>
<asp:TextBox runat="server" ID="endTime" CssClass="time btn btn-default pull-right" AutoCompleteType="Disabled" Style="width: 150px"></asp:TextBox>
</div>
</div>
</form>
在asp:TextBox项目之上,我已经注释掉了我原来的&#34;输入&#34;因为我正在尝试这两种方法。如果我在C#中拨打string date = calBtn.Text
,则表示&#34;点击此处&#34;作为返回值。我也试过date = calExt.SelectedDate
,它返回空。
在文本框中,我尝试了.Text
和.SelectedValue
,但仍然是空的。
答案 0 :(得分:0)
@DrewKennedy有正确的想法。我正在为Bootstrap嵌套所有这些<form>
标签,导致它无法在服务器端看到。我错误地认为我需要嵌套表单来使CSS工作。
我的整个身体周围已经有<form runat="server">
,但将内部<form class="form-horizontal">
更改为<div class="form-horizontal">
可以解决问题。
答案 1 :(得分:0)
ASP.NET仅支持ONE SINGLE。因此,您必须在表单makup上添加 runat = server 。
现在它正在为我工作。