在我正在处理的网站上,页面生成45个外部WebResource.axd和ScriptResource.axd文件,因此broswers必须请求所有45个引用.这是很多引用,所以我想知道是否有一种方法可以将所有这些请求组合成一个请求?我已经看到脚本管理器应该可以做一些事情,但我没有看到WebResource.axd和ScriptResource.axd文件的任何结果.
我怎样才能将这些结合起来?
我正在尝试将DataTable数据绑定到手风琴,我发现如果我使用表适配器从数据库中检索DataTable它完全绑定到手风琴但是我想要做的是创建一个虚拟表(用于测试目的,如果我无法访问我的数据库)创建虚拟表的代码如下:
DataTable table2 = new DataTable("articletable");
table2.Columns.Add("articleID");
table2.Columns.Add("title");
table2.Columns.Add("content");
DataRow row = table2.NewRow();
row[0] = "1";
row[1] = "article name";
row[2] = "article contents go here";
table2.Rows.Add(row);
Run Code Online (Sandbox Code Playgroud)
当我尝试数据绑定该表但手风琴不显示.我可以将它绑定到gridview或detailsview但不能将其绑定到手风琴上.
我的AJAX和ASP.NET 3.5有问题:(问题真的很奇怪,因为我在不同的页面上使用相同的东西,它在那里工作正常,但在这个特定的页面,这是行不通的.
这就是我所拥有的:
<asp:UpdatePanel ID="upMain" runat="server" UpdateMode="Conditional" Visible="true" RenderMode="Inline">
<ContentTemplate>
<asp:DropDownList ID="ddlNewService_PortTelco" runat="server" Width="250" CssClass="dropdown" AutoPostBack="true" OnSelectedIndexChanged="Provision_PortedTelcoChanged"></asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
在DropDown之前的路上有一个DIV(html一个),然后是几个asp:Panels.我不明白为什么这会造成全面的回复?
有任何想法吗 ?谢谢
我创建了一个新项目.我从NuGet安装了Ajax Control Toolkit.然后我用以下代码创建了一个新页面aspx:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<ajaxToolkit:ToolkitScriptManager ID="toolkitScriptMaster" runat="server">
</ajaxToolkit:ToolkitScriptManager>
hello!!!!
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当我看到ajaxtookit创建了152个scriptresources文件时,我傻眼了.我很担心因为我知道这会影响页面的加载时间.
这是正常的吗?
我能做什么?
asp.net webresource.axd ajaxcontroltoolkit scriptresource.axd
我们目前正在开发一些自定义的asp.net服务器控件.现在我们想为其中一些添加一些Ajax支持.现在基本上会有两种选择
我已经使用Control Toolkit工作,编写了一个完整的Extender,一旦你理解了背后的故事,它就非常直观.但我也喜欢jQuery的简单性.
所以我想听听你们中的一些你想要的内容(每个人的优点/缺点),同时考虑到我们主要处理微软技术.你会更多地使用工具包或jQuery,或者两者兼而有之?
//编辑:
我刚做了一些测试,我不得不承认,由于集成,我现在发现Toolkit更好.我的目的主要是在服务器控件上使用它,所以使用工具包我在服务器端有相应的类,我可以在那里做类似的事情
CalendarExtender toolkitCalendarExtender = new CalendarExtender();
toolkitCalendarExtender.TargetControlID....
...
this.Controls.Add(toolkitCalendarExtender);
Run Code Online (Sandbox Code Playgroud)
这非常好,因为通过这种方式,我不必处理渲染预定义的JavaScript,我在自定义服务器控件中以某种方式构造为字符串.使用jQuery我必须这样做(除了Nicolas提到的工具包,但是在专业环境中使用它的支持太弱了)
非常感谢.
我想要做的是创建一些可重用的代码,可以编写模式弹出窗口,通过javascript或使用ajaxcontrol工具包全部来自后面的代码.
模式将是一种登录弹出窗口,用于控制对网站的更多限制区域的访问,从而允许某些用户重新进行凭证以获得更高的访问权限.
我正在考虑做一个用户控制,但我想到了一些问题,传递所有适当的信息,而不是完全笨拙.
如果有人有任何良好的链接或建议这样做,将不胜感激!
谢谢!
编辑:我知道如何使用ajax控件工具包及其控件,我知道如何制作登录屏幕,我问如何完全从一个独立于其实现的类的代码中执行此操作
任何人都可以解决这个问题
Microsoft JScript运行时错误:AjaxControlToolkit需要ASP.NET Ajax 4.0脚本.确保引用了正确版本的脚本.如果您使用的是ASP.NET ScriptManager,请切换到AjaxControlToolkit.dll中的ToolkitScriptManager.
我使用的是asp.net 3.5,VS 2008.我可以在AjaxControlToolKit.dll文件3.5.40412.2中看到该版本.
<script type="text/javascript">
$(function () {
$('.datePicker').datetimepicker({ dateFormat: 'dd/mm/yy' });
});
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:TextBox ID="TextBox1" class="datePicker" runat="server"></asp:TextBox>
<asp:UpdatePanel ID="holder" runat="server" UpdateMode="Always" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:DropDownList runat="server" ID="ddl_RespondBy" AutoPostBack="true" OnSelectedIndexChanged="ddl_SelectedIndexChanged">
<asp:ListItem Selected="True">1 Hour</asp:ListItem>
<asp:ListItem>Other</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="txt_RespondBy" class="datePicker" Visible="true" runat="server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddl_RespondBy" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddl_RespondBy.SelectedItem.Text == "Other")
{
txt_RespondBy.Visible = true;
}
else
{
}
}
Run Code Online (Sandbox Code Playgroud)
我使用更新面板进行部分回发,我有两个文本框,一个在更新面板外面,一个在内部,当我从下拉列表中选择其他内容并尝试打开txt_RespondBy文本框内的日历时它没有显示,但是文本框外部更新面板显示日历.为什么Javascript在部分回发后无法在更新面板内工作
我正在尝试实现AjaxControlToolkit NoBot,但我总是从IsValid()方法得到错误(状态值总是InvalidBadResponse).我在这里错过了什么吗?
ASCX代码:
// buttons, textboxes etc.
<asp:NoBot ID="NoBot1"
runat="server"
CutoffMaximumInstances="5"
CutoffWindowSeconds="60"
ResponseMinimumDelaySeconds="2"
/>
Run Code Online (Sandbox Code Playgroud)
代码背后:
protected void Button1_Click(object sender, EventArgs e)
{
AjaxControlToolkit.NoBotState state;
if (!NoBot1.IsValid(out state))
{
Page page = HttpContext.Current.Handler as Page;
ScriptManager.RegisterStartupScript(page, page.GetType(), "err_msg", "alert('" + " BOT " + "');", true);
}
else
{ ...}
}
Run Code Online (Sandbox Code Playgroud)
更奇怪的是:我输入数据进行登录,然后点击asp按钮.NoBot状态是InvalidBadResponse失败的.但是,然后我点击浏览器的刷新按钮它要求我重新发送请求我说好,现在状态是有效的!为什么?
我有一个运行良好的VS2012 Web应用程序,直到我添加了最新的AjaxControlToolkit(7.0123).最初,我发现安装破坏了UpdatePanel的行为 - 而在我可以在异步回发后刷新页面而不重复操作之前,我发现安装后刷新会重复上一次操作(我想回发后)不再异步).
然后我注意到,在过去的某个时候,我已经注释掉了一些添加到新的ASP.NET Web窗体应用程序的默认JavaScript文件,所以我尝试重新添加它们.这导致了一个异常:
'MsAjaxBundle'不是有效的脚本名称.名称必须以'.js'结尾.
然后我试图替换默认<asp:ScriptManager .../>与<ajaxControlToolkit:ToolkitScriptManager .../>这导致了新的异常
无法加载文件或程序集"System.Web"或其依赖项之一.该系统找不到指定的文件.
为了理智,我创建了一个新的ASP.NET Web窗体应用程序(VS2012,Update 2)并运行它.没有错误.使用"nuget",然后我添加了AjaxControlToolkit v7.0123(最新版本).再次运行应用程序,我再次获得原始异常:
'MsAjaxBundle'不是有效的脚本名称.名称必须以'.js'结尾.
再一次,我替换 <asp:ScriptManager .../>了<ajaxControlToolkit:ToolkitScriptManager .../>,再一次,这导致了
无法加载文件或程序集"System.Web"或其依赖项之一.该系统找不到指定的文件.
任何人都可以解释我还需要做些什么才能解决这个问题?在添加工具包时,我找不到任何需要手动更改的文档.
谢谢,
asp.net ×7
c# ×3
ajax ×2
javascript ×2
jquery ×2
accordion ×1
asp.net-4.5 ×1
asp.net-ajax ×1
data-binding ×1
updatepanel ×1