【发布时间】:2013-03-30 16:49:28
【问题描述】:
对不起,我重复这个问题。相反,我不得不重复一遍。上次我发这个,我没有得到答案。我google了3个多小时,找不到答案。这是链接按钮和模式弹出窗口的 html。链接按钮位于选项卡面板内/上,并且自动回发设置为 true。
<asp:LinkButton ID="lnkAddNewAddress" runat="server" OnClick="lnkAddNewAddress_Click">Click Here To Add New Address</asp:LinkButton>
<asp:ModalPopupExtender ID="lnkAddNewAddress_ModalPopupExtender" runat="server" BackgroundCssClass="modalBackground"
DynamicServicePath="" Enabled="True" PopupControlID="pnlMyAddressBook" TargetControlID="lnkAddNewAddress"
ViewStateMode="Enabled" >
</asp:ModalPopupExtender>
我希望链接按钮的 clickevent 不会发生。但是,单击链接确实会打开模态弹出扩展器(这也是我想要的)......我如何进入点击事件。我知道这里避免了回发,因为可能是模态弹出窗口......但我没有解决方案......
保存按钮上的代码:
if(hdnfld.Value.ToString()!=null)
{
if(hdnfld.Value.ToString()=="Save")
{
SaveNewAddress();
}
else
{
UpdateAddress();
}
<%@ Page StylesheetTheme="" Title="" Language="C#" MasterPageFile="~/Site.Master"
AutoEventWireup="true" CodeBehind="frmMyAccountMyProfile.aspx.cs" Inherits="WebApplication1.frmMyAccountMyProfile" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<script type="text/javascript">
function CheckType(type)
{
document.getElementById("hdnfld").value = type;
alert(document.getElementById("hdnfld").value);
return false;
}
</script>
<link href="Styles/myStyleSheet.css" rel="stylesheet" type="text/css" />
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<div class="divwrap">
<table style="width: 100%; margin-right: 0px;">
<tr>.........
<td>
<asp:LinkButton ID="lnkAddNewAddress" runat="server" OnClientClick="return CheckType('Save');">Click Here To Add New Address</asp:LinkButton>
<asp:HiddenField ID="hdnfld" runat="server" />
<asp:ModalPopupExtender ID="lnkAddNewAddress_ModalPopupExtender" runat="server" BackgroundCssClass="modalBackground" DynamicServicePath="" Enabled="True" PopupControlID="pnlMyAddressBook" TargetControlID="lnkAddNewAddress"
ViewStateMode="Enabled">
</asp:ModalPopupExtender>
...........
<asp:Button ID="btnEdit" runat="server" CssClass="roundcorner btn" OnClick="btnEdit_Click" OnClientClick="return CheckType('Edit');" Text="Edit" />
<asp:Panel ID="pnlMyAddressBook" runat="server" BackColor="White" CssClass="roundcorner">
【问题讨论】:
-
为什么要触发按钮的点击事件。如果它着火了,那么你就再也看不到你的弹出窗口了。由于页面加载,它将隐藏自己。请详细说明,为什么要触发按钮事件?
-
在模态弹出窗口中,我有一个名为保存的按钮。如果客户之前点击了 EDIT 按钮,此按钮将编辑(更新)地址。否则,它(保存按钮)将添加(插入)一个新地址(如果客户端之前单击了链接按钮(即添加))。我需要知道客户在进入模式弹出窗口之前点击了什么,以便我可以在视图状态中获取值。为此,我需要触发 click 事件,以便我可以在 click 事件中将值置于 viewstate 中。
-
ohhh,所以您有相同的弹出窗口来保存和更新地址,并且您只想设置值,根据该值您可以区分用户想要添加新地址或更新地址。我对吗?
-
看起来很糟糕,请同时发布 javascript 函数。并且您还没有使用模态弹出扩展器配置编辑按钮。但之前你告诉过它也会提示相同的弹出窗口。
-
我也发布了 javascript 函数......你只看到了编辑的一半......它都在那里......!
标签: asp.net ajax linkbutton