我在AjaxToolkit 3.5中使用CollapsiblePanelExtender来显示/隐藏搜索过滤器选项.
我希望在页面首次加载时扩展CollapsiblePanelExtender!Page.IsPostBack.
之后,我希望折叠CollapsiblePanelExtender,因为这意味着他们要么提交了一些过滤器选项,要么转到搜索结果中的另一个页面.无论哪种情况,我都希望CollapsiblePanelExtender能够进行拼写.
有没有办法可以实现这个目标?
在按钮提交处理程序的代码隐藏中,我尝试添加:
CollapsiblePanelExtenderID.CollapsedSize = 0 CollapsiblePanelExtenderID.Collapsed = true
但这似乎没有用.我还将此添加到处理Paging的lvProducts_PagePropertiesChanging处理程序中.
我有一个Ajax actionlink,它在控制器方法中请求一个字符串.我想将该字符串插入到超链接的属性中.我是否指定了目标id元素的属性字段?
<img id="CHANGE-MY-SRC" src=ViewData["src"] >
<%=Ajax.ActionLink("Change IMG Source","actionChange",new AjaxOptions()
UpdateTargetId="CHANGE-MY-SRC"})%>
Run Code Online (Sandbox Code Playgroud)
public string actionChange()
{
ViewData["src"]= "somethingNew";
return ????????
}
Run Code Online (Sandbox Code Playgroud) 我正在构建一个asp.net应用程序,我应该使用哪种技术来获得AJAX功能?为什么?到目前为止,我只需要在网格视图中使用"确认"按钮,但可能需要更多功能.我可以同时使用两个,对吗?谢谢.
在jQuery中使用AJAX功能时,我是否还必须安装ASP.NET AJAX/.NET 3.5?或者我可以只使用ASP.NET AJAX吗?
我不清楚我是否能够在没有ASP.NET AJAX的情况下在ASP.NET中使用AJAX.
我正在使用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()获取文件,但后来我得到"无法访问已关闭的文件".
怎么解决这个?
我有一个很漂亮的问题!
我创建了一个带有updatepanel和该updatepanel上的触发器的ASP.NET页。触发器每30秒更新一次面板。
问题在于,当触发器更新面板时,IE8会从我正在使用的任何其他程序中获取焦点。有人对此有解决方案吗?
这发生在IE8中;在Firefox中,我对此没有任何问题。
这是带有updatepanel的计时器:
<asp:Timer ID="Timer1" runat="server" Interval="30000" ontick="Timer1_Tick">
</asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
<asp:AsyncPostBackTrigger ControlID="ButtonSubmit" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
Loading....
</ProgressTemplate>
</asp:UpdateProgress>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder><br />
<div class="clear"></div>
<asp:Label ID="Label4" runat="server" Text="Grid not refreshed yet.">
</asp:Label><br />
<asp:Label ID="Label5" runat="server" Text="(Grid Will Referesh after Every 30 Sec)" Font-Bold="true"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
在计时器刻度上,我仅执行以下操作:
protected void Timer1_Tick(object sender, EventArgs e)
{
Label4.Text = "Grid Refreshed at: " + DateTime.Now.ToLongTimeString();
}
Run Code Online (Sandbox Code Playgroud)
提前致谢。 …
Ajax似乎提供了更好的用户体验,但我不确定我是否采取了正确的步骤来保护和保护我的应用程序.
有一份我必须注意的事项清单吗?
我有一个DataList,它绑定了一个People集合,每个Person都有一个Button,点击时需要导致异步回发,因此OnClick事件处理程序可以更改UpdatePanel中显示的详细信息[DataList在UpdatePanel之外].
我已经两次尝试设置Button来更改DataList的OnItemDataBound事件处理程序中的UpdatePanel.一个将AsyncPostBackTrigger分配给UpdatePanel,另一个分配给RegisterAsyncPostBackControl到ScriptManager.两者都有效但只是第一次.如果按下另一个人的按钮[或第二次按下相同的按钮],页面将完全回发.
UpdatePanel的UpdateMode设置为Conditional,ScriptManager的EnablePartialRenderingEnablePartialRendering设置为true.
OnItemDataBound中的代码:
Button btnShowNotes = e.Item.FindControl( "btnShowNotes" ) as Button;
// Trigger
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = btnShowNotes.UniqueID;
trigger.EventName = "Click";
upDetails.Triggers.Add( trigger ); // UpdatePanel
// The trigger or this is used, not both
ScriptManager1.RegisterAsyncPostBackControl( btnShowNotes );
Run Code Online (Sandbox Code Playgroud)
一旦发生了第一个Async PostBack,它似乎失去了引用,但是肯定可以保持这个而不必不断地重新绑定DataList?我必须在尝试这种方式时遗漏一些东西.
我正在尝试使用表单dom元素与Mvc中的Ajax.BeginForm帮助程序的OnBegin和OnComplete例程.
目前我有这个:
@using (Ajax.BeginForm("Contact", "Home", new AjaxOptions { OnBegin = "handleOnBegin" }))
Run Code Online (Sandbox Code Playgroud)
但是在OnBegin/OnComplete处理程序中,我想使用表单dom元素 - 这是可能的吗?我已经检查了传递给那些处理程序的参数,我看不到任何东西.
function handleOnBegin(a, b){
var f = <get form>;
animateForm(f);
}
Run Code Online (Sandbox Code Playgroud)
我甚至尝试用处理程序传递'this',但这似乎只是传递了XHR对象(或者类似的东西)......而且,我不愿意传递id并添加更多代码,因为我确信有一种更简单的方法.
最近我开始研究VS2010,我正在引用AjaxControlToolkit 4.1.51116.0.我遇到了运行时错误 -
Microsoft JScript运行时错误:AjaxControlToolkit需要ASP.NET Ajax 4.0脚本.确保引用了正确版本的脚本.如果您使用的是ASP.NET ScriptManager,请切换到AjaxControlToolkit.dll中的ToolkitScriptManager.
我已经看到许多问题浮动同样的错误,但建议的解决方案是使用'ToolkitScriptManager'而不是'ScriptManager'不适合我.在此背景下的任何帮助将不胜感激.
asp.net-ajax ×10
ajax ×3
asp.net ×3
.net ×2
asp.net-mvc ×2
jquery ×2
ajax.net ×1
asp.net-4.0 ×1
c# ×1
dom ×1
forms ×1
image ×1
security ×1
upload ×1