0

我有一个 asp.net 网页表单页面,它也使用母版页。

这是一个简单的页面,显示一些文本并有一个表格,该页面还允许用户上传 .doc、.docx 和 pdf 格式的简历。

这段代码的问题是我由于某种原因无法触发 <asp:Button ID="btnUploadCV" runat="server" Text="Upload" CssClass="btnUpload" onclick="btnUploadCV_Click"/>

<%@ Page Title="" Language="C#" MasterPageFile="~/en/SiteMasterPage.master" AutoEventWireup="true" CodeFile="career.aspx.cs" Inherits="career" %>
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
        <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"></asp:Content>
        <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
            <!-- Content Page-->
            <!-- page content wrapper -->
            <div id="page-content-area" class="page-content-area">
                <div id="pg-left-bar" class="pg-left-bar">
                    <div class="page-title">
                         <h5><asp:Label ID="lblPageTitle" CssClass="page-title-lbl" runat="server" Text="Introduction"></asp:Label></h5>

                    </div>
                    <div class="page-text">
                        <asp:Label ID="lblPageContents" runat="server" Text=""></asp:Label>
                    </div>
                    <div class="career-form-wrapper">
                        <!-- UpdatePanel -->
                        <asp:UpdatePanel ID="updPnlArticles" runat="server" UpdateMode="Conditional">
                            <ContentTemplate>
                                <asp:Panel ID="pnlCareerForm" runat="server">
                                    <div class="row-form">
                                        <div class="row-lbl-wrapper"> <span class="row-req">*</span>

                                            <asp:Label ID="lblFirstName" runat="server" CssClass="row-label" Text="First Name:"></asp:Label>
                                        </div>
                                        <asp:TextBox ID="txtFirstName" runat="server" CssClass="row-input"></asp:TextBox>
                                        <asp:RequiredFieldValidator ID="rfFN" runat="server" ValidationGroup="Careers" ErrorMessage="*" CssClass="row-validate" ControlToValidate="txtFirstName"></asp:RequiredFieldValidator>
                                    </div>
                                    <div class="row-form">
                                        <div class="row-lbl-wrapper"> <span class="row-req">*</span>

                                            <asp:Label ID="lblFamilyName" runat="server" CssClass="row-label" Text="Family Name:"></asp:Label>
                                        </div>
                                        <asp:TextBox ID="txtFamilyName" runat="server" CssClass="row-input"></asp:TextBox>
                                        <asp:RequiredFieldValidator ID="rfLN" runat="server" ValidationGroup="Careers" ErrorMessage="*" CssClass="row-validate" ControlToValidate="txtFamilyName"></asp:RequiredFieldValidator>
                                    </div>
                                    <div class="row-form">
                                        <div class="row-lbl-wrapper"> <span class="row-req">*</span>

                                            <asp:Label ID="lblEmail" runat="server" CssClass="row-label" Text="Email:"></asp:Label>
                                        </div>
                                        <asp:TextBox ID="txtEmail" runat="server" CssClass="row-input"></asp:TextBox>
                                        <asp:RequiredFieldValidator ID="rfvEmail" runat="server" ValidationGroup="Careers" ErrorMessage="*" CssClass="row-validate" ControlToValidate="txtEmail"></asp:RequiredFieldValidator>
                                        <asp:RegularExpressionValidator ID="revEmail" runat="server" ErrorMessage="*" CssClass="row-validate" ControlToValidate="txtEmail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ValidationGroup="Careers"></asp:RegularExpressionValidator>
                                    </div>
                                    <div class="row-form">
                                        <div class="row-lbl-wrapper">
                                            <asp:Label ID="lblPhone" runat="server" CssClass="row-label" Text="Phone Number:"></asp:Label>
                                        </div>
                                        <asp:TextBox ID="txtPhone" runat="server" CssClass="row-phone" Text=""></asp:TextBox>
                                        <asp:RegularExpressionValidator ID="revPhone" runat="server" ErrorMessage="*" ValidationGroup="Careers" ControlToValidate="txtPhone" ValidationExpression="^([\+]?[0-9]{1,3}[\s.-][0-9]{1,12})([\s.-]?[0-9]{1,4}?)$"></asp:RegularExpressionValidator>
                                        <div class="tooltip tooltip-override" title="Accepts local format (eg. 04 1234567, 050 1234567 or 04-1234567, 050-1234657)<br />and international format (eg. +971 41234567, +971-41234567 ).<br />Also accepts an optional extention of up to four digits (eg. 04 1234567 289 or +974 41234567 289)">
                                            <asp:Image ID="imgtooltip" CssClass="tooltip-img" runat="server" ImageUrl="~/images/tooltipgreen.png" />
                                        </div>
                                    </div>
                                    <div class="row-form">
                                        <div class="row-lbl-wrapper">
                                            <asp:Label ID="lblFax" runat="server" CssClass="row-label" Text="Fax Number:"></asp:Label>
                                        </div>
                                        <asp:TextBox ID="txtFax" runat="server" CssClass="row-input"></asp:TextBox>
                                        <asp:RegularExpressionValidator ID="revFax" runat="server" ErrorMessage="*" ValidationGroup="Careers" ControlToValidate="txtFax" ValidationExpression="^([\+]?[0-9]{1,3}[\s.-][0-9]{1,12})$"></asp:RegularExpressionValidator>
                                        <div class="tooltip tooltip-override" title="Accepts local format (eg. 04 1234567 or 040-1234567)<br />and international format (eg. +974 41234567 or +974-41234567)">
                                            <asp:Image ID="Image1" CssClass="tooltip-img" runat="server" ImageUrl="~/images/tooltipgreen.png" />
                                        </div>
                                    </div>
                                    <div class="row-form">
                                        <div class="row-lbl-wrapper">
                                            <asp:Label ID="lblAddress" runat="server" CssClass="row-label" Text="Address:"></asp:Label>
                                        </div>
                                        <asp:TextBox ID="txtAddress" runat="server" CssClass="row-input-multiline" TextMode="MultiLine"></asp:TextBox>
                                    </div>
                                    <div class="row-form">
                                        <div class="row-lbl-wrapper"> <span class="row-req">*</span>

                                            <asp:Label ID="lblCountry" runat="server" CssClass="row-label" Text="Country:"></asp:Label>
                                        </div>
                                        <asp:DropDownList ID="ddCountry" runat="server" CssClass="row-dd"></asp:DropDownList>
                                        <asp:CascadingDropDown ID="csdCountry" runat="server" Category="Country" TargetControlID="ddCountry" PromptText="-- Select --" LoadingText="[Loading Countries...]" ServiceMethod="FetchCountries" ServicePath="~/wsCountryCity.asmx" PromptValue="0"></asp:CascadingDropDown>
                                        <asp:RequiredFieldValidator ID="rfCountry" ValidationGroup="Careers" ControlToValidate="ddCountry" CssClass="row-validate" InitialValue="0" runat="server" ErrorMessage="*"></asp:RequiredFieldValidator>
                                    </div>
                                    <div class="row-form">
                                        <div class="row-lbl-wrapper">
                                            <asp:Label ID="lblCity" runat="server" CssClass="row-label" Text="City:"></asp:Label>
                                        </div>
                                        <asp:DropDownList ID="ddCity" runat="server" CssClass="row-dd"></asp:DropDownList>
                                        <asp:CascadingDropDown ID="csdCity" runat="server" Category="City" TargetControlID="ddCity" ParentControlID="ddCountry" PromptText="-- Select --" LoadingText="[Loading Cities...]" ServiceMethod="FetchCities" ServicePath="~/wsCountryCity.asmx" PromptValue="0"></asp:CascadingDropDown>
                                    </div>
                                    <div class="row-form">
                                        <div class="row-lbl-wrapper"> <span class="row-req">*</span>

                                            <asp:Label ID="Label1" runat="server" CssClass="row-label" Text="CV:"></asp:Label>
                                        </div>
                                        <asp:FileUpload ID="FileUpload1" runat="server" CssClass="fileUpload" />
                                        <div id="dFileUpload1" class="btnUploadHack">Browse</div>
                                        <asp:Button ID="btnUploadCV" runat="server" Text="Upload" CssClass="btnUpload" onclick="btnUploadCV_Click" />
                                        <asp:RequiredFieldValidator ID="rfvF1" runat="server" ValidationGroup="Careers" ErrorMessage="*" CssClass="row-validate" ControlToValidate="FileUpload1"></asp:RequiredFieldValidator>
                                        <asp:Label ID="lblImageMSG" runat="server" Text=""></asp:Label>
                                    </div>
                                    <div class="contactus-row">
                                        <asp:Button ID="btnSave" runat="server" CssClass="btnContactUsSave" Text="Send Message" onclick="btnSave_Click" ValidationGroup="Careers" />
                                    </div>
                                </asp:Panel>
                                <asp:Panel ID="pnlCareerMSG" runat="server"></asp:Panel>
                            </ContentTemplate>
                        </asp:UpdatePanel>
                        <!-- UpdatePanel -->
                    </div>
                </div>
                <div class="pg-right-bar">
                    <asp:Image ID="imgSideBanner" runat="server" />
                </div>
            </div>
            <!-- page content wrapper -->
            <!-- Content Page-->
        </asp:Content>

代码背后

    protected void btnUploadCV_Click(object sender, EventArgs e)
    {

// code is here
    }

到目前为止,我无法弄清楚是什么阻止了里面的任何按钮触发。是的,我什至放了一个简单的按钮来测试,即使它没有触发。

在此处输入图像描述

我不确定是验证还是更新面板造成了问题。

4

2 回答 2

0

必填字段验证器可能会咬你。只需将属性' Causevalidation ="false" '添加到您的按钮,它就会触发。您可以使用 if Page.IsValid 处理验证服务器端

<asp:Button ID="btnUploadCV" runat="server" Text="Upload" CssClass="btnUpload" onclick="btnUploadCV_Click" CausesValidation="false" />

服务器端

protected void btnUploadCV_Click(object sender, EventArgs e)
{
  Page.Validate();
if (Page.IsValid == true)
 {

 //  your code  here

   }
}

更新

我不确定您的按钮发生了什么。然后,如果一切都失败了,请进行蛮力攻击以使回帖像这样。

<asp:Button ID="btnUploadCV" runat="server" Text="Upload" CssClass="btnUpload" onclick="btnUploadCV_Click" CausesValidation="false" onClientClick='forcePostBack()" />

**Javascript**
function forcePostback(){
 __doPostBack('<%#btnUploadCv.UniqueID %>','');

 }
于 2013-09-03T20:40:54.197 回答
0

您需要在更新面板中添加Triggers之后。ContentTemplate

<Triggers>
   <asp:PostBackTrigger ControlID="btnexport" />
</Triggers>
于 2013-09-03T13:44:32.527 回答