标签: ajaxcontroltoolkit

如何在ASP.NET AJAX Control Toolkit中的AsyncFileUpload的文件浏览菜单中限制文件类型

我想限制他们在文件上传对话框中看到的内容,默认情况下设置为"所有文件".我理解如何验证他们只上传了某种文件类型,这不是问题.我只想知道如何在文件选择对话框中默认文件类型.

有没有办法将其更改为"仅限PNG"或"*.png"?

这是在ASP.NET AJAX Control Toolkit中使用AsyncFileUpload.

.net vb.net asp.net ajaxcontroltoolkit visual-studio

6
推荐指数
2
解决办法
7859
查看次数

在ASP.NET中设置活动选项卡Ajax TabContainer会导致整个容器消失

我有一个ASP.NET页面,它使用ASP.NET Ajax Control Toolkit TabContainer.在这种情况Page_Load下,我隐藏了一些基于给予页面的数据的选项卡.然后,我想根据(可选)查询字符串参数的值使其中一个选项卡处于活动状态.

所以我有:

protected void Page_Load ( object sender, EventArgs e )
{
    if ( !this.IsPostBack )
    {
        // Tabs with no data are hidden in here
        LoadDataIntoTabs();

        PreselectCorrectTab();
    }
}

private void PreselectCorrectTab ()
{
    if ( ctlTabContainer.Visible )
    {
        if ( !string.IsNullOrEmpty( Request.QueryString[ "tabIndex" ] ) )
        {
            int tabIndex = 0;

            if ( int.TryParse( Request.QueryString[ "tabIndex" ], out tabIndex ) )
            {
                if ( ( ctlTabContainer.Tabs.Count > tabIndex ) && …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-ajax ajaxcontroltoolkit tabcontainer

5
推荐指数
1
解决办法
5万
查看次数

Image.FromStream(PostedFile.InputStream)失败.(参数无效.)(AsyncFileUpload))

我正在使用AsyncFileUpload(AJAX Toolkit)上传图像.我有一个处理图像大小调整的按钮.这已经工作了一段时间了,但现在不行了......

protected void BtnUploadImage_Click(object sender, EventArgs e)
{
    var imageFileNameRegEx = new Regex(@"(.*?)\.(jpg|jpeg|png|gif)$", 
        RegexOptions.IgnoreCase);
    if (!AsyncFileUpload1.HasFile || 
        !imageFileNameRegEx.IsMatch(AsyncFileUpload1.FileName))
    {
        AsyncFileUpload1.FailedValidation = true;
        ErrorLabel.Visible = true;
        return;
    }
    ErrorLabel.Visible = false;

    var file = AsyncFileUpload1.PostedFile.InputStream;

    var img = Image.FromStream(file, false, false);

...
}
Run Code Online (Sandbox Code Playgroud)

另一件我觉得奇怪的事情:如果我尝试的图像小于80kb它可以工作..!

我们试图重启服务器,但没有变化.相同的代码在我的机器上运行良好.(听说之前?? :))

我还尝试将文件保存在服务器上,然后通过Image.FromFile()获取文件,但后来我得到"无法访问已关闭的文件".

怎么解决这个?

c# upload image asp.net-ajax ajaxcontroltoolkit

5
推荐指数
1
解决办法
2万
查看次数

是否值得花时间从AjaxControlToolkit切换到jQuery?

我一直听到关于jQuery有多棒以及AjaxControlToolkit如何糟糕的所有这些事情.不幸的是,在使用工具包构建整个WebForms站点之后,我才听说过这个.

现在我正在考虑切换,如果不是完全,主要是jQuery.这部分是为了体验(从未在Javascript中编码或使用过任何框架),部分是因为我认为我对jQuery有更多的控制权.

没有迫切的需要切换,但我还在考虑这样做.

为了获得经验,是否值得为jQuery的学习曲线解决,我应该单独留下我的工作网站吗?

jquery ajaxcontroltoolkit

5
推荐指数
1
解决办法
491
查看次数

html编辑器属性

我在页面上使用了AjaxControlToolkit html编辑器:

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit.HTMLEditor"
TagPrefix="cc1" %>

<cc1:Editor ID="txtjobdesc" runat="server" AutoFocus="False"  />
Run Code Online (Sandbox Code Playgroud)

我将值发送到数据库中 txtjobdesc.Content.Tostring();

但是,如果我在编辑器中只键入一个段落,它将显示相同的描述.如果我使用任何项目符号和突出显示的单词,则会显示项目符号,下方重叠的单词.

如何将其显示为html描述?

请帮帮我..

c# asp.net ajaxcontroltoolkit html-editor

5
推荐指数
1
解决办法
1491
查看次数

事件不会从嵌套的Accordion控件触发

假设我们有Accordion控制,其中有几个按钮放在其他Accordion控件中.问题是这些按钮的事件不在服务器端处理.例:

我有以下代码:

<form runat="server">
<ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajax:ToolkitScriptManager>
<ajax:Accordion ID="Accordion1" runat="server" Enabled="True" Visible="true">
    <Panes>
        <ajax:AccordionPane ID="AccordionPane1" runat="server">
            <Header>
                header1 <asp:button id="ButtonH" runat="server" text="ButtonH" onclick="Button1_OnClick" />
            </Header>
            <Content>
                <ajax:Accordion ID="Accordion12" runat="server" Enabled="True">
                    <Panes>
                        <ajax:AccordionPane ID="AccordionPane12" runat="server">
                            <Header>
                                header2 
                                <asp:button id="ButtonH2" runat="server" text="ButtonH2" onclick="Button1_OnClick" />
                            </Header>
                            <Content>
                                <asp:button id="ButtonContent" runat="server" text="Content" onclick="Button1_OnClick" />
                                content1</Content>
                        </ajax:AccordionPane>
                    </Panes>
                </ajax:Accordion>
            </Content>
        </ajax:AccordionPane>
    </Panes>
</ajax:Accordion>
</form>
Run Code Online (Sandbox Code Playgroud)

代码隐藏:

 protected void Button1_OnClick(object sender, EventArgs e)
 {
    var button = (Button)sender;
 }
Run Code Online (Sandbox Code Playgroud)

Button1_OnClick方法仅在ButtonH单击时执行,但不在打开ButtonH2ButtonContent …

.net asp.net ajaxcontroltoolkit

5
推荐指数
1
解决办法
1797
查看次数

清除AjaxToolkit AsyncFileUpload控件

我在我的aspx.net页面中使用AsyncFileUpload控件.此控件在更新面板中运行.

我可以异步将文件成功上传到服务器.

我的问题是我无法在每个文件上传后刷新整个页面,因此我需要弄清楚如何清理上次上传的文件,因此当用户选择要上传的新文件时,旧文件不会出现在控件和控件中不会在ViewState中保留其上次上载.

我试过这个http://www.aspsnippets.com/Articles/Clear-contents-of-AsyncFileUpload-Control-after-upload-and-page-revisit.aspx但它只清除html,当我做服务器时异步回发,AsyncFileUpload控件仍然上传了最后一个文件.

有没有办法在服务器端进行清理?也许任何与视图状态相关的东西

任何帮助将不胜感激,谢谢.

asp.net ajaxcontroltoolkit

5
推荐指数
1
解决办法
8440
查看次数

如何在 Razor MVC 4 中使用 Ajax 控制工具包?

如何在 ASP.net MVC4 Razor 模板应用程序中使用 Ajax Control 工具包中的Ajax Slider ?

asp.net-mvc ajaxcontroltoolkit c#-4.0

5
推荐指数
1
解决办法
1万
查看次数

asp.net C#ajax运行'async'批处理作业

我对asp.net和C#都很陌生,所以请耐心等待.如果以前曾经问过这个问题,我也很抱歉...如果有,请指导我到一个有帮助的页面.

是)我有的:

  • 页面:有4个updatepanels

    1. 第一个UpdatePanel,包含(项目)gridview,用户显示选项(对此问题不重要)和执行数据库搜索的按钮,该数据库搜索返回显示到网格的项目列表.用户选择此网格上的项目...

    2. 2nd UpdatePanel包含一个下拉列表,其中包含从XML加载的可用任务列表.用户将选择一个任务,该任务在第二个更新面板中显示一堆可用选项/参数(也从XML文件加载)到另一个(参数)gridview.Gridview在这里总是有一行数据.我在这里使用gridview是因为它更容易而不是创建动态控件(参数不同于每个任务).用户可以在网格中输入参数值.用户单击"添加"按钮,该任务将添加到第3个更新面板中的另一个网格视图中.

    3. 3rd UpdatePanel包含一个(任务)gridview,其中包含用户添加的所有任务.还有一个按钮,可以批量运行所有任务.单击该按钮时,它将通过(任务)gridview查找要运行的待处理任务.对于每个挂起的任务,它调用一个适当处理任务的Web服务.Web服务将任务结果与日志输出一起返回.

    4. 4th UpdatedPanel现在只包含一个显示从Web服务返回的日志输出的div.

我想进一步研究,不知道如何:

  • 如何执行"异步"批处理作业?我想要实现的是,当用户点击批量运行按钮时,第3个(任务)更新面板及其所有控件将被禁用,而批处理作业将在"幕后"运行.根据任务的不同,每项任务最多可能需要5秒.如果用户创建了60个任务,我认为这也会导致页面超时?
  • 在批处理作业运行时,用户可以进一步搜索(项目)UpdatePanel中的其他项目,并使用(参数)updatepanel向(任务)更新面板添加新任务.
  • (任务)UpdatePanel将在作业运行时显示某种"正在进行的作业..."覆盖.

希望你理解我的问题.如果有人能够对如何解决这项任务提供一些指导和/或指导,我们非常感激

更多信息:

使用Framework 3.5

使用Asp.net C#+ Ajax

Web服务是solaris盒子上的gSoap

提前谢谢了.


很抱歉作为一个菜鸟,我试图回复你的帮助,但发现我可以放入一些有限的角色.我现在只更新自己的评论.

谢谢你的建议.对于迟到的回复感到抱歉,我前几天一直在寻找并做了一些修改,让它与'PageAsyncTask'和'IAsyncResult'一起工作.我已经创建了一个将由页面调用的Web服务类.新的Web服务类将调用gSoap Web服务.我设法以某种方式'异步'运行它.

我有一个按钮执行:

  protected void StartASyncJob()
  {
     PageAsyncTask task = new PageAsyncTask(
        new BeginEventHandler(BeginAsyncCommandTask),
        new EndEventHandler(EndAsyncCommandTask),
        new EndEventHandler(AsyncCommandTaskTimeOut), null);

     RegisterAsyncTask(task);
  }
Run Code Online (Sandbox Code Playgroud)

BeginAsyncCommandTask将遍历网格,获取第一个待处理任务并调用Web服务.

然后,EndAsyncCommandTask将检索返回结果,写出(log)UpdatePanel.然后它将再次执行StartASyncJob(),查找要处理的下一个待处理记录.

只有在页面上不做任何其他操作时,所有这一切才有效.如果我(在异步进程运行时)在(项目)gridview中搜索更多项目或从(任务)下拉列表中选择新任务,则事件将不会触发,直到异步Web服务进程完成.当它完成后,下拉列表或搜索事件将触发,我的Web服务返回的日志详细信息不会更新.

我想'等待'是由'PageAsyncTask'从同一页面线程'生成'引起的?

我原以为让"异步"Web服务能够让用户一次做多件事,从而提供更好的用户体验.但似乎我错了和/或没有做对.

我还没有尝试过使用QueueUserWorkItem的建议; 但在此之前,请问是否会产生与使用'PageAsyncTask'相同的效果.使用QueueUserWorkItem会产生"从同一页面线程产生"的相同效果吗?

提前谢谢了.对不起,如果我没有很好地解释自己,如果您需要我发布我的代码,请告诉我.

c# asp.net ajaxcontroltoolkit

5
推荐指数
1
解决办法
732
查看次数

无法创建页面方法"GetCompletionList",因为找不到CodeBehind或CodeFile文件!Ajax Visual Studio 2012

我在aspx页面中的文本框控件上单击"添加自动完成页面方法"时遇到以下错误需要帮助:"无法创建页面方法"GetCompletionList"因为没有CodeBehind或CodeFile文件是找到了!".这与将Ajax控件添加到网页对象(如文本框)有关.

我已成功将Ajax Control Toolkit添加到我的Visual Studio 2012中的网站工具箱中.我已按照以下教程http://www.asp.net/ajaxlibrary/act_AutoC ...并在进入第4步时收到错误.

任何帮助或建议将不胜感激.

以下是我的代码的摘录:

<asp:Content ID="Content2" ContentPlaceHolderID="rightContent" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>  


<td class="tdLeftSide">Manufacturer:</td>
                <td class="tdRightSide" style="width: 264px">
                    <%--<asp:TextBox ID="txtManufacturer" runat="server" CssClass="txtFormatting"></asp:TextBox></td>--%>
                    <asp:TextBox ID="txtManufacturer" runat="server" CssClass="txtFormatting"></asp:TextBox>
                    <asp:AutoCompleteExtender ID="txtManufacturer_AutoCompleteExtender" runat="server" DelimiterCharacters="" Enabled="True" ServicePath="" TargetControlID="txtManufacturer" UseContextKey="True">
                    </asp:AutoCompleteExtender>
                </td>
Run Code Online (Sandbox Code Playgroud)

vb.net asp.net ajax asp.net-ajax ajaxcontroltoolkit

5
推荐指数
1
解决办法
5160
查看次数