在运行时在AjaxControlToolkit.AjaxFileUpload中设置上下文密钥

时间:2016-09-18 11:48:18

标签: c# asp.net ajaxcontroltoolkit

我一直在尝试使用AjaxControlToolkit的AjaxFileUpload控件的ContextKeys,但是我在运行时设置值时没有成功。如果我将它设置为标记中的静态值,它可以工作,但是当我尝试从后面的代码或javascript中设置它时,它会失败。我已经看了几个不同的修复示例,但我还没有能够解决这个问题。这是一个例子:

How can I use the ContextKeys property for the AjaxFileUpload control?

文件中的代码不再类似于这些代码,以便能够对工具包进行这些编辑。

通过静态设置工作的标记是:

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<div>
    <ajaxToolkit:AjaxFileUpload  ContextKeys="Testing" ID="ajaxFileUploadAttachments" runat="server" OnUploadComplete="ajaxFileUploadAttachments_UploadComplete"  OnClientUploadStart="uploadStarted" />
</div>
</form>

和代码背后:

    protected void ajaxFileUploadAttachments_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{



    String ContextKeyValue = ajaxFileUploadAttachments.ContextKeys;

    string fileNameWithPath = Server.MapPath("~/Temp/") + e.FileName.ToString();
    ajaxFileUploadAttachments.SaveAs(fileNameWithPath);

}

在此版本中,传递上下文密钥。如果我尝试通过以下方式从页面加载中的代码设置它:

protected void Page_Load(object sender, EventArgs e)
{
    ajaxFileUploadAttachments.ContextKeys = "TestingFromPageLoad";
}

它不起作用,我仍然从标记中获得控件的静态值。

我已尝试使用OnClientUploadStart在javascript中的示例,但仍然只传递静态值。

任何人都有解决此问题的方法。我喜欢控件,但我需要能够在不使用会话变量的情况下传递值。

感谢您的帮助,非常感谢。

0 个答案:

没有答案