我正在研究.NET Web应用程序,我在其中使用CalendarExtender控件让用户指定日期.出于某种原因,当我单击图标以显示日历时,背景似乎是透明的.
我正在其他页面上使用扩展程序,并且不会遇到此问题.
我不确定它是否值得一提,但是日历嵌套在一个附有圆角扩展器的面板上,以及它下面的面板("From"重叠的地方).
在该面板中,我有一个div布局设置来创建两列.
编辑:这里要注意的另一件事是,具有昵称的名称和"占位符"的部分都是ASP.NET标签控件,如果这很重要.
我正在使用UpdatePanel异步调用页面中的按钮单击事件,该页面调用另一个类中的方法,该类在输出中写出XML文件.有没有办法用JQuery而不是UpdatePanel来做到这一点?
我想在完全接收响应并更新DOM后,使用AjaxOptions的OnSuccess选项作为Ajax.BeginForm参数传递给"做某事".至于我可以从MSDN中找不到,这就是这个选项的作用.
在我的应用程序中,OnSuccess脚本在发送请求后立即过早触发.我让线程睡了一会儿,以便更好地看到结果.我应该看到OnSuccess脚本(一个警报)在那个睡眠时间之后被触发,比如2秒.我使用Firebug来查看引擎盖下发生了什么,我看到的只是:我点击按钮(在ajax表单内提交),显示警报(预期前2秒),2秒后firebug显示请求 - 响应,没有更多的事情.
哪里我错了?
先谢谢,山
一些示例代码,正确的问题(我在VS中使用Asp.NET MVC模板启动了一个空白的新解决方案):
主页/索引视图:
<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
<div id="divPlaceholder">
<%
using (Ajax.BeginForm("DoLongTask", "Home",
new AjaxOptions() {
UpdateTargetId = "divPlaceholder",
InsertionMode = InsertionMode.Replace,
OnSuccess = "alert('onsuccess fired')"
}))
{
%>
<input type="submit" value="button" />
<% } %>
</div>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)
HomeController的
public ActionResult DoLongTask()
{
if (Request.IsAjaxRequest())
{
System.Threading.Thread.Sleep(2000);
return View();
}
else
{
throw new NotSupportedException();
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这足以重现这种行为.空局部视图可用作DoLongTask视图.
我想在更新面板中为文本区域使用富文本编辑器.
我发现这篇帖子:http://www.queness.com/post/212/10-jquery-and-non-jquery-javascript-rich-text-editors通过这个问题:需要ASP.Net/MVC富文本编辑器
决定使用TinyMCE,因为我之前在非AJAX情况下使用它,并且它在该列表中说它与AJAX兼容.好吧,我做了很好的' tinyMCE.init({ //settings here });
测试它,它在更新面板更新后消失了.我从这里的一个问题中找出它应该在page_load函数中,所以它甚至可以在异步回发上运行.好吧,这样做,面板停留.但是,在尝试从我的textarea提交值时,它的文本总是返回为空,因为我的表单验证器总是说"你必须输入描述",即使我在其中输入文本.这是在页面第一次加载以及对页面执行异步回发之后发生的.
好吧,我发现这个http://www.dallasjclark.com/using-tinymce-with-ajax/并且不能从同一个AJAX TinyMCE textarea发布两次.我尝试在tinyMCE.init之后立即将此代码添加到我的页面加载函数中.这样做会破坏我之后在page_load中调用的所有jquery,它仍然存在同样的问题.
我仍然是客户端脚本编写的初学者,所以也许我需要将代码放在与page_load不同的位置?不确定我链接的帖子不知道放置代码的位置.
我的Javascript:
<script type="text/javascript">
var redirectUrl = '<%= redirectUrl %>';
function pageLoad() {
tinyMCE.init({
mode: "exact",
elements: "ctl00_mainContent_tbDescription",
theme: "advanced",
plugins: "table,advhr,advimage,iespell,insertdatetime,preview,searchreplace,print,contextmenu,paste,fullscreen",
theme_advanced_buttons1_add_before: "preview,separator",
theme_advanced_buttons1: "bold,italic,underline,separator,justifyleft,justifycenter,justifyright, justifyfull,bullist,numlist,undo,redo,link,unlink,separator,styleselect,formatselect",
theme_advanced_buttons2: "cut,copy,paste,pastetext,pasteword,separator,removeformat,cleanup,charmap,search,replace,separator,iespell,code,fullscreen",
theme_advanced_buttons2_add_before: "",
theme_advanced_buttons3: "",
theme_advanced_toolbar_location: "top",
theme_advanced_toolbar_align: "left",
extended_valid_elements: "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
paste_auto_cleanup_on_paste: true,
paste_convert_headers_to_strong: true,
button_tile_map: true
});
tinyMCE.triggerSave(false, true);
tiny_mce_editor = tinyMCE.get('ctl00_mainContent_tbDescription');
var newData = tiny_mce_editor.getContent();
tinyMCE.execCommand('mceRemoveControl', false, 'your_textarea_name'); …Run Code Online (Sandbox Code Playgroud) 我正在重构一个.Net Web应用程序
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
Run Code Online (Sandbox Code Playgroud)
现在,这种方法只是针对明星而去寻找最新的doctype只是因为它是最新的,我想做出更明智的选择并针对特定的一个并且有充分的理由.
存在类似的问题,但答案现在可能已经过时.
标准和怪癖模式之间的区别,优点和缺点是什么,我可能会遇到不同设置的doctypes有什么怪癖?
有人告诉我,一个XHTML文档类型比集成AJAX更好,因为UpadtePanel序列化它并且这样做需要有一个XHTML do类型,这到底有多大?
对于浏览器兼容性,浏览器在DOCTYPE方面走向哪个方向,是否存在共同的威胁或它们是否存在差异?
我们有一个包含多个Web项目的解决方案,并且有些页面应该存在于其中的几个中.所以我们需要某种包含aspx文件的共享项目,并且可以被其他Web项目引用.
现在有一些实现:
ScottGu描述的一个实现涉及构建共享项目,而不是将输出aspx复制到宿主项目中,并引用aspx的dll.这种方法的缺点是,如果apsx被修改,它必须被重新复制.
基于David Ebbo的帖子的另一个选择是将aspx转换为可以作为自定义控件引用的ascx-es,而不是将那些custom-control-aspx-es包含到一些占位符页面内的宿主项目中.但我担心的是:所有apsx页面都可以转换为ascx吗?我的意思是用户控件中没有Page.LoadComplete事件.
另一种选择是使用映射到共享webproject的虚拟目录,如Microsoft 知识库文章中所述.此方法的问题是共享的aspx-es必须位于预定义的目录(即虚拟目录)中.如果虚拟目录的名称与物理目录重叠,则虚拟目录会覆盖它,并且不能使用后者的页面.或许有可能将这两者合并在一起吗?
有什么想法吗?在此先感谢PS如何调试共享页面?
我的印象是,嵌套UpdatePanel中的控件将导致顶层UpdatePanel刷新(从而刷新两个UpdatePanel),因为该控件上的任何事件都充当"隐式"触发器.那是对的吗?
我一直试图连接这样的东西 -
UserControl
Parent UpdatePanel
"Show" button
ASP:Panel
Dynamically added UserControls, each with UpdatePanels
Run Code Online (Sandbox Code Playgroud)
单击"显示"按钮时,ASP:Panel变为可见,并根据某些后端逻辑动态开始将UserControls动态添加到自身.
每个动态添加的控件(以下称为UserControls)都有自己的Atlas启用按钮和链接,因此它们也有UpdatePanels.目前,当我单击其中一个UserControls中的链接时,ASP:Panel的所有内容都会消失,就好像它正在重新渲染一样.我的所有动态添加的控件都会消失,并且调试器中没有捕获任何单击事件.
我假设这里发生的事情是驻留在嵌套更新面板中的控件导致父UpdatePanel回发,因为它们触发了"隐式"触发器.有没有办法让我的UserControls自动运行而不是弄乱ASP:包含它们的面板?
如果没有,我应该采取什么策略?如果我必须在其中一个(可能很多)UserControls上发生事件时重新呈现整个ASP:Panel,这意味着我将不得不重新创建UserControls,这需要花费一些精力来创建.我还必须保留某种视图状态来重新创建它们.我对ASP.NET有些新意,这听起来令人生畏.我宁愿永远不要刷新顶级的UserControl和ASP:Panel,如果我可以避免它,并让每个动态添加的UserControls以异步方式触发和处理自己的事件.
编辑:我没有动态添加控件,而是将它们添加到标记中(不是一个糟糕的解决方案).因此摆脱了控件消失的问题,因为现在控件不是动态添加的,而是存在于标记中.但是,仍然会显示父UpdatePanel帖子,因为所有UserControl都会被发布而不是一个.如何只进行一次UserControl回发?另外,我想知道如果动态添加如何摆脱控件消失的问题?
如何使用Ajax请求在Asp.net MVC中上传图像我有单个控制器,其视图文件必须使用Ajax请求.
索引控制器
public ActionResult Index()
{
return View();
}
Run Code Online (Sandbox Code Playgroud)
和它的观点
我正在使用Ajax.ActionLink帮助程序生成删除记录的链接.这是代码:
Ajax.ActionLink("Delete Image", "DeleteImage", new { id = item.Id },
new AjaxOptions { HttpMethod = "Delete", OnSuccess = "Test()" } )
Run Code Online (Sandbox Code Playgroud)
我将一个Javascript函数(Test())分配给OnSucess属性,因为我想做一些JQuery的东西,但当我单击Delete链接时,会出现此错误消息
Microsoft JScript运行时错误:'b'为null或不是对象
在MicrosoftAjax.js文件中(第5行,第62099行).如果我删除OnSuccess属性,一切正常(即使Test()函数为空,也会引发相同的错误).谢谢你的帮助!
无法更新自动刷新引用'ajaxcontroltoolkit.dll和commonlogging.dll
我每次运行项目时都会收到此警告,但项目运行正常但没有在本地系统中断,但是在上传到服务器后我在godaddy中收到错误页面.这可能是godaddy共享托管服务器500错误的原因
asp.net-ajax ×10
asp.net ×4
asp.net-mvc ×3
updatepanel ×3
.net ×1
.net-2.0 ×1
ajax ×1
doctype ×1
html ×1
javascript ×1
jquery ×1
nested ×1
reference ×1
share ×1
tinymce ×1