链接按钮点击不被解雇

时间:2013-03-30 05:44:32

标签: asp.net ajax linkbutton

对不起,我正在重复这个问题。相反,我不得不重复它。我最后一次发布这个,我得到了答案。我用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>

我希望linkbutton的clickevent能够触发未发生的事情。但是点击该链接会打开模态弹出扩展器(这也是我想要的)...如何进入click事件。我知道这里可以避免回发因为模态弹出窗口可能...但我不解决它....

保存按钮上的代码:

  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>
        &nbsp;<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>

  &nbsp;...........
                                                <asp:Button ID="btnEdit" runat="server" CssClass="roundcorner btn" OnClick="btnEdit_Click" OnClientClick="return CheckType('Edit');" Text="Edit" />
                                                    &nbsp;
                                                    <asp:Panel ID="pnlMyAddressBook" runat="server" BackColor="White" CssClass="roundcorner">

2 个答案:

答案 0 :(得分:1)

如果你真的想在后面的代码中保留一些值,你可以使用隐藏字段而不是viewstate。您可以访问客户端的隐藏字段以及后面的代码。

 <asp:LinkButton ID="lnkAddNewAddress" runat="server" OnClientClick="return CheckType('save');">Click Here To Add New Address</asp:LinkButton>
<asp:HiddenField ID="hdf_type" runat="server" />

Javascript代码

function CheckType(type) {
        document.getElementById("hdf_type").value = type;
         return false;
    }

单击“保存”按钮后访问代码后面的值,并根据隐藏字段中的值执行保存或更新操作。

hdf_type.Value.ToString();

为您提供更多帮助

HTML文件应该看起来像

下面我发布的代码对我来说很合适。

<head runat="server">
<title></title>
<script type="text/javascript">
    function CheckType(type) {
        document.getElementById("hdf_type").value = type;
        alert(document.getElementById("hdf_type").value);
        return false;
    }
</script>
 </head>
 <body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>


    <asp:LinkButton ID="lnkAddNewAddress" runat="server" OnClientClick="return CheckType('save');">Click Here To Add New Address</asp:LinkButton>

    <asp:Button ID="btn" runat="server" OnClientClick="return CheckType('edit');" Text="Click Here To Add New Address" />

    <asp:ModalPopupExtender ID="lnkAddNewAddress_ModalPopupExtender" runat="server" BackgroundCssClass="modalBackground"
        DynamicServicePath="" Enabled="True" PopupControlID="pnlMyAddressBook" TargetControlID="lnkAddNewAddress"
        ViewStateMode="Enabled">
    </asp:ModalPopupExtender>

    <div id="pnlMyAddressBook" style="height: 100px; width: 100px; display: none; background-color: Gray">
         <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><br />

    </div>
    <asp:HiddenField ID="hdf_type" runat="server" />
</div>
</form>

获得代码背后的价值:

enter image description here

答案 1 :(得分:0)

试试这个:

<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="btnHidden">
    </asp:ModalPopupExtender>

<asp:Button ID="btnHidden" runat="server" style="Display:none;" Text="Button"/>

在代码背后:

protected void lnkAddNewAddress_Click(object sender, EventArgs e)
    {
        lnkAddNewAddress_ModalPopupExtender.Show();

    }
相关问题