Tag: webforms

什么是您的下一个ASP.NET项目的select:Web窗体或MVC?

假设您明天将开始一个新的ASP.NET网站/应用程序。 你会selectWeb窗体还是MVC,为什么?

使用razor时closuresWebFormViewEngine?

我今天上午下载了Glimpse来试用,当我点击视图标签时注意到了这一点: 它检查所有加载的视图引擎。 我发现在web.config中指定了RazorViewEngine位置,但是我找不到WebFormViewEngine位置。 由于我知道我的项目将永远不会有一个Web窗体视图, closuresWebFormViewEngine吗? 我怎样才能closuresWebFormViewEngine ?

一个更新面板与多个更新面板

我有一个ASP.NET网页,显示各种各样的领域,需要更新最好的特定条件下,button点击等。 我们已经实现了AJAX,使用ASP.NET更新面板来避免可见的回传。 原来只有一个领域需要这个能力……很快扩展到其他领域。 现在我的网页有多个UpdatePanel。 我想知道是否最好只将整个窗体包装在一个UpdatePanel中,或者保留单独的UpdatePanel。 什么是使用ASP.NET UpdatePanel的最佳做法?

VS2012 – Web表单 – 捆绑混乱

我通过Visual Studio 2012创build了一个新的ASP.NET Web Forms项目。不幸的是,默认的Site.Master文件非常混乱。 (我将这些问题放在一起,因为它们非常相关,并且引用相同的代码。) 首先,我已经明白捆绑和缩小的目的 ,所以不需要讨论。 不过,我不明白在默认母版页中包含脚本的方式。 问题1: 为什么在BundleConfig.cs文件中创build一个名为“〜/ bundles / WebFormsJs”的包,而在母版页中,这些相同的单个.js文件中的每一个都在ScriptManager中被逐一列出? 在BundleConfig.cs里面: bundles.Add(new ScriptBundle("~/bundles/WebFormsJs").Include( "~/Scripts/WebForms/WebForms.js", "~/Scripts/WebForms/WebUIValidation.js", "~/Scripts/WebForms/MenuStandards.js", "~/Scripts/WebForms/Focus.js", "~/Scripts/WebForms/GridView.js", "~/Scripts/WebForms/DetailsView.js", "~/Scripts/WebForms/TreeView.js", "~/Scripts/WebForms/WebParts.js")); 内部Site.Master: <body> <form runat="server"> <asp:ScriptManager runat="server"> <Scripts> <%–Framework Scripts–%> <asp:ScriptReference Name="MsAjaxBundle" /> <asp:ScriptReference Name="jquery" /> <asp:ScriptReference Name="jquery.ui.combined" /> <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebForms.js" /> <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebUIValidation.js" /> <asp:ScriptReference Name="MenuStandards.js" […]

为什么ASP.Net RadioButton和CheckBox在一个范围内呈现?

我会期待这一点: <asp:CheckBox ID="CheckBox1" runat="server" CssClass="myClass" /> <asp:RadioButton ID="RadioButton1" runat="server" CssClass="myClass" /> <asp:TextBox ID="TextBox1" runat="server" CssClass="myClass" /> …像这样渲染(为简单起见删除了一些属性) : <input id="CheckBox1" type="checkbox" class="myClass" /> <input id="RadioButton1" type="radio" class="myClass" /> <input id="TextBox1" type="text" class="myClass" /> …实际上, RadioButton和CheckBox被span标记包裹,并且CSS类被应用在那里。 <span class="myClass"><input id="CheckBox1" type="checkbox" /></span> <span class="myClass"><input id="RadioButton1" type="radio" /></span> <input type="text" id="TextBox1" class="myClass" /> 有没有这个原因,有没有办法避免它? 这使得jQueryselect器变得丑陋,因为你无法捕捉到所有这些: $("input.myClass") 授予它只是要: $("input.myClass, […]

Rails上的单选button

类似于这个问题: Rails上的checkbox 在Ruby on Rails中制作与某个问题相关的单选button的正确方法是什么? 目前我有: <div class="form_row"> <label for="theme">Theme:</label> <br><%= radio_button_tag 'theme', 'plain', true %> Plain <br><%= radio_button_tag 'theme', 'desert' %> Desert <br><%= radio_button_tag 'theme', 'green' %> Green <br><%= radio_button_tag 'theme', 'corporate' %> Corporate <br><%= radio_button_tag 'theme', 'funky' %> Funky </div> 我也希望能够自动检查以前select的项目(如果这个表单被重新加载)。 我将如何加载参数到这些的默认值?

如何通过浏览器确定上传文件的MIMEtypes?

我有一个Web应用程序,用户需要上传.zip文件。 在服务器端,我正在检查上传文件的MIMEtypes,以确保它是application/x-zip-compressed或application/zip 。 这对Firefox和IE浏览器工作正常。 然而,当一个同事testing它时,他在Firefox上失败了(发送的MIMEtypes就像是“ application/octet-stream ”),但在Internet Explorer上工作。 我们的设置似乎是相同的:IE8,FF 3.5.1的所有附加组件被禁用,Win XP SP3,WinRAR作为本机.zip文件处理程序(不知道是否相关)安装。 所以我的问题是: 浏览器如何确定什么MIMEtypes发送? 请注意:我知道MIMEtypes是由浏览器发送的,因此不可靠。 我只是把它作为一个便利来检查 – 主要是为了给出比通过尝试打开非压缩文件作为zip文件而获得的错误信息更友好的错误信息,并避免加载(推测是重的)zip文件库。

Asp.Net Web窗体和Asp.Net网页

Asp.Net Web窗体和Asp.Net网页有什么区别? 这里说网页和Web表单有不同的方法。

在页面之间传递数据的最佳实践

问题 在项目之间重复使用的堆栈中,我们在会话中传递了一些数据,以便在页面之间传递数据。 这在理论上是好的,因为它防止篡改,重放攻击等等,但是它创造了许多问题。 会话丢失本身是一个问题,虽然它主要通过实现会话状态服务器(或通过使用SQL Server)来处理。 更重要的是,让后退button正常工作是非常棘手的,而且还需要额外的工作来创build一个用户可以在三个选项卡中打开同一屏幕以处理不同logging的情况。 而这只是冰山一angular。 对于这些问题,大部分都有解决方法,但是随着我的磨砺,所有这些摩擦都让我觉得,使用会话在页面之间传递数据是错误的方向。 我真正想要做的是提出一个最佳实践,我的商店可以随时使用页面之间的数据传递,然后,对于新的应用程序,replace目前依赖于Session的堆栈的关键部分。 如果最终的解决scheme不会导致大量的样板代码,这也是很好的。 build议的解决scheme 会议 如上所述,倚重Session就好像是一个好主意,但是它打破了后退button,导致了一些其他的问题。 可能有办法解决所有的问题,但似乎有很多额外的工作。 有一件事使用会话是非常好的事实,篡改是不是一个问题。 与通过未encryption的QueryString传递所有内容相比,最终编写的守护代码要less得多。 跨页面发布 事实上,我几乎没有考虑这个选项。 我有一个问题,它是如何紧密耦合,使页面 – 如果我开始做PreviousPage.FindControl(“SomeTextBox”),这似乎是一个维护问题,如果我想要从另一个页面,可能没有这个页面一个名为SomeTextBox的控件。 在其他方面似乎也受到限制。 也许我想通过链接进入页面,例如。 请求参数 我现在正在倾向于这个策略,就像在古代那样。 但是我可能希望我的QueryString被encryption以使其难以被篡改,并且我也想要处理重放攻击的问题。 来自罗拉的4个人, 有一篇关于这个的文章 。 但是,应该可以创build一个HttpModule来处理所有这些操作,并从页面中删除所有的encryption香肠。 果然, Mads Kristensen有一篇文章发表了一篇文章。 然而,这些评论听起来像是在极其常见的情况下有问题。 其他选项 当然,这并不是对选项的看法,而是我正在考虑的主要选项。 此链接包含更完整的列表。 那些我没有提到的如Cookies和Cache不适合在页面之间传递数据的目的。 正在closures… 那么,你如何处理页面之间传递数据的问题呢? 你有什么隐藏的陷阱需要解决,是否有任何预先存在的工具可以完美地解决它们? 你觉得你有一个解决scheme,你完全满意吗? 提前致谢! 更新:为了防止我不够清楚,通过“在页面之间传递数据”我正在谈论,例如,从CustomerSearch.aspx页面传递CustomerID键到Customers.aspx,客户将被打开并可以进行编辑。

仅在_some字段上通过Enter键禁用表单提交

我想保留传统的'表单提交时,我按下回车'行为,因为用户熟悉。 但是通过reflection,当他们完成一个文本input框的时候,他们经常会进入input框 – 但是在他们完成了整个表单之前。 只有当焦点位于特定类别的input上时,才想要劫持Enter键。 看相关问题这看起来像我在找什么: if (document.addEventListener) { document.getElementById('strip').addEventListener('keypress',HandleKeyPress,false); } else { document.getElementById('strip').onkeypress = HandleKeyPress; } 但if (document.addEventListener) {部分是我不熟悉的。