SharePoint中的更新面板内的FileUpload控件

时间:2012-12-25 14:16:40

标签: sharepoint-2010

我正在开发SharePoint 2010中的应用程序。 我在更新面板中使用了文件上传控件,还有两个用于名称和地址的文本框。当我点击按钮时,我没有从文件上传控件获取文件名。 以下是我的代码,请告诉我我哪里出错或者点击按钮后没有获得文件控制值的原因。

<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<table width="50%" cellpadding="2" cellspacing="0">
 <tr>
<td>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="conditional">
   <ContentTemplate>
     <asp:FileUpload ID="FileUpload1" runat="server" />
    <asp:Button ID="Upload" runat="server" Text="Upload" OnClick="Upload_Click" /><br />
    <asp:Image ID="NormalImage" runat="server" />
 </ContentTemplate>
  <Triggers>
     <asp:PostBackTrigger ControlID="Upload" />
  </Triggers>
</asp:UpdatePanel>

2 个答案:

答案 0 :(得分:0)

您可以删除触发器部分并尝试。

<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<table width="50%" cellpadding="2" cellspacing="0">
 <tr>
<td>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="conditional">
   <ContentTemplate>
     <asp:FileUpload ID="FileUpload1" runat="server" />
    <asp:Button ID="Upload" runat="server" Text="Upload" OnClick="Upload_Click" /><br />
    <asp:Image ID="NormalImage" runat="server" />
 </ContentTemplate>
</asp:UpdatePanel>

答案 1 :(得分:0)

删除<asp:ScriptManager ID="ScriptManager1" runat="server" />

以编程方式将ScriptManager添加到页面:

protected override void OnInit(EventArgs e)
{
    Page.Init += delegate(object sender, EventArgs e_Init)
                 {`enter code here`
                     if (ScriptManager.GetCurrent(Page) == null)
                     {
                         ScriptManager sMgr = new ScriptManager();
                         Page.Form.Controls.AddAt(0, sMgr);
                     }
                 };
    base.OnInit(e);
}