向 aspx 页添加警告消息
本文关键字:警告 消息 添加 aspx | 更新日期: 2023-09-27 17:56:01
我有一个 asp.net 应用程序,当我在网格视图中单击按钮时,我必须在其中添加警告JavaScript消息:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField >
<ItemTemplate>
<asp:HiddenField ID="Ref" runat="server" value='<%#Eval("Ref")%>' ></asp:HiddenField>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemTemplate>
<asp:Button ID="Savebtn" runat="server" Text="update" OnClick="gv_RowEditing"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Note">
<ItemTemplate>
<asp:TextBox ID="note" runat="server" Text='<%#Eval("Note")%>' onfocus="this.style.color='red'" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="max">
<ItemTemplate>
<asp:TextBox ID="maxtxt" runat="server" Text='<%#Eval("prix max")%>' onfocus="this.style.color='red'"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="min" >
<ItemTemplate>
<asp:TextBox ID="mintxt" runat="server" Text='<%#Eval("prix min")%>' onfocus="this.style.color='red'"/>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowSelectButton="True" />
</Columns>
<EditRowStyle BorderColor="Yellow" Font-Underline="True" ForeColor="#FF3300" />
</asp:GridView>
当我点击按钮savebtn
时,我需要添加一个警报,如果maxtxt
值小于mintxt
值,则会出现警告消息。
- 我该怎么做?
- 向 aspx 页添加警报消息有哪些不同的方法?
使用 OnClientClick
事件调用 Javascript 方法来验证字段。
<asp:Button ID="Savebtn" runat="server" Text="update" OnClick="gv_RowEditing"
OnClientClick="if ( ! ValidateFields()) return false;"/>
你的javascript方法:(不是100%确定语法,但你明白了)
function ValidateFields() {
var maxtxt = document.getElementById("<%=maxtxt.ClientID%>").Value;
var mintxt = document.getElementById("<%=mintxt.ClientID%>").Value;
if ( maxtxt < mintxt ) {
alert("This is bad");
return false;
}
return true;
}
使用 Button 的 OnClientClick 函数指定一些在回发发生之前要运行的 JavaScript。
<asp:Button ID="Button1" runat="server" Text="Delete" OnClientClick='MyFunction();' OnClick="Button1_Click" />
function MyFunction()
{
var maxtxt = document.getElementById("<%=maxtxt.ClientID%>").Value;
var mintxt = document.getElementById("<%=mintxt.ClientID%>").Value;
if ( maxtxt < mintxt ) {
alert("You did something wrong!");
}
}
通常,您只想在客户端到达服务器端之前确认客户端上的某些操作
<asp:Button ID="Button1" runat="server" Text="Delete" OnClientClick='return confirm("Are you sure you want to delete this item?");' OnClick="Button1_Click" />
您可以将两者结合起来...
<asp:Button ID="Button1" runat="server" Text="Delete" OnClientClick='return MyFunction();' OnClick="Button1_Click" />
function MyFunction()
{
var maxtxt = document.getElementById("<%=maxtxt.ClientID%>").Value;
var mintxt = document.getElementById("<%=mintxt.ClientID%>").Value;
if ( maxtxt < mintxt ) {
return confirm("Are you sure you want to do that");
}
return true;
}
<asp:Button ID="Savebtn" runat="server" Text="update" OnClick="gv_RowEditing"/>
function gv_RowEditing(){
if(parseInt($('#maxTxt').val()) < parseInt($('#minTxt').val())){
alert("you message");
}
}
或
$("#Savebtn").click(function() {
if(parseInt($('#maxTxt').val()) < parseInt($('#minTxt').val())){
alert("you message");
}
});
这是使用 jquery。
按如下方式定义网格视图:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField >
<ItemTemplate>
<asp:HiddenField ID="Ref" runat="server" value='<%#Eval("Ref")%>' ></asp:HiddenField>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemTemplate>
<asp:Button ID="Savebtn" runat="server" Text="update" OnClick="gv_RowEditing"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Note">
<ItemTemplate>
<asp:TextBox ID="note" runat="server" Text='<%#Eval("Note")%>' onfocus="this.style.color='red'" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="max">
<ItemTemplate>
<asp:TextBox ID="maxtxt" maxtxt="1" runat="server" Text='<%#Eval("prix max")%>' onfocus="this.style.color='red'"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="min" >
<ItemTemplate>
<asp:TextBox ID="mintxt" mintxt="1" runat="server" Text='<%#Eval("prix min")%>' onfocus="this.style.color='red'"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button CommandName="Update" Text="Update" OnClientClick="return Validate();" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle BorderColor="Yellow" Font-Underline="True" ForeColor="#FF3300" />
</asp:GridView>
然后包括以下 js(使用 jquery):
function Validate(){
var max = $("input[maxtxt]").val();
var min = $("input[mintxt]").val();
if (maxtxt < mintxt){
alert("Something wrong!!");
return false;
}
else{
return true;
}
}