Abh*_*jan 6 asp.net webforms asp.net-4.0 c#-4.0
我有两个按钮,预览和保存.借助预览按钮,用户可以根据格式查看数据,然后可以保存.
但是,当单击预览时,附加到ajaxcontrol(日历)的一个文本框变为空,用户必须在保存之前填写日期.怎么办呢?在预览中单击我获取详细信息以显示布局中的数据.
<asp:TextBox ID="txtDate" ReadOnly="true" runat="server"></asp:TextBox>
<div style="float: right;">
<asp:ImageButton ID="imgcalender1" runat="server" ImageUrl="~/images/calendar.png"
ImageAlign="Bottom" />
<asp:CalendarExtender ID="ajCal" TargetControlID="txtpublishDate" PopupButtonID="imgcalender1"
runat="server">
</asp:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" ValidationGroup="group1" runat="server" ControlToValidate="txtDate"
ForeColor="Red" Font-Bold="true" ErrorMessage="*"></asp:RequiredFieldValidator>
</div>
<asp:Button ID="btnPreview" runat="server" Text="Preview" OnClick="btnPreview_Click" />
<asp:Button ID="btnsubmit" runat="server" ValidationGroup="group1" Text="Save" OnClick="btnsubmit_Click" />
Run Code Online (Sandbox Code Playgroud)
tgo*_*sch 15
在aspx代码(服务器端)中使用Page.IsPostback().像这样:
private void Page_Load()
{
if (!IsPostBack)
{
// the code that only needs to run once goes here
}
}
Run Code Online (Sandbox Code Playgroud)
此代码仅在第一次加载页面时运行,并避免踩到用户输入的表单更改.
根据我的理解,预览按钮导致回发而你不想要,请在预览按钮上尝试:
<asp:button runat="server".... OnClientClick="return false;" />
Run Code Online (Sandbox Code Playgroud)
同样这也有效:
YourButton.Attributes.Add("onclick", return false");
Run Code Online (Sandbox Code Playgroud)
编辑:
似乎用户问题的答案是在预览按钮的HTML标记中进行了简单的更改
CausesValidation="False"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39121 次 |
| 最近记录: |