我有一个 Web 表单 (.NET 4.0) Web 应用程序,构建为:
我正在尝试遵循一些有关错误处理的教程,但到目前为止我得到的结果不一致。
我的问题是我应该如何处理应用程序中的错误?
我应该将所有方法包装在 try/catch 中吗?
我应该用 try/catch 将方法包装在业务层中吗?
如何使用 WCF Ajax 方法处理 PortalLayer 中发生的错误?
例如,我将以下内容添加到 Global.asax 文件中:
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
Exception exc = Server.GetLastError();
if (exc is HttpUnhandledException)
{
if (exc.InnerException != null)
{
exc = new Exception(exc.InnerException.Message);
Server.Transfer(@"\Pages\Error.aspx?handler=Application_Error%20-%20Global.asax", true);
}
}
}
Run Code Online (Sandbox Code Playgroud)
然而大多数时候这不会被调用。我只是看到屏幕上显示错误消息(就像美化的警报)。
或者,如果调用此方法,则 exc 不是 HttpUnhandledException,因此传输永远不会发生。
我也在我的 web.config 中尝试过这个,但我没有看到这有什么作用。(如果我注释掉它,我会得到相同的结果)
<customErrors …Run Code Online (Sandbox Code Playgroud)是否需要此代码,或者因为页面的 UnLoad 事件会处置页面上的所有控件,所以编写此类代码是没有意义的:
fu.PostedFile.InputStream.Flush();
fu.PostedFile.InputStream.Close();
fu.FileContent.Dispose();
Run Code Online (Sandbox Code Playgroud)
我问这个问题是因为在msdn的示例中我看到他们编写的代码如下
FileUpload1.SaveAs(savePath);
Run Code Online (Sandbox Code Playgroud)
但之后不要费心处理流,但我看到有些人在保存后明确处理输入流?
我有一些代码如下:
<label class="control-label col-sm-4" for="datepicker">Date of Birth</label>
<div class="col-sm-8" ><input class="form-control col-sm-10" type="text" id="datepicker" name="datepicker" required="true" value="<?php if(isset($_SESSION['DOB'])) echo $_SESSION['DOB'] ?>"></div>
Run Code Online (Sandbox Code Playgroud)
我的问题是我不希望这个“出生日期”字段再成为必填字段。如何将该字段设置为非必填?
我尝试过设置,required="false"但这不起作用。
非常感谢任何建议,非常感谢让-克洛德
我正在使用 asp.net webform 网站,该网站使用 4.5 框架和 vunrability 扫描仪将 viewstate 显示为Unencrypted __VIEWSTATE parameter
即使我使用机器密钥它仍然标记它
<machineKey validationKey="xxxxxxxxxxxx" decryptionKey="xxxxxxxxxxxx" validation="SHA1" decryption="AES" />
Run Code Online (Sandbox Code Playgroud)
这就是在 asp.net webform 4.5 中对 viewstate 进行加密的方式吗
我正在寻找一篇文章,深入探讨ASP.NET的工作原理以及它如何从XML标记中呈现控件.例如,在幕后,ASP.NET如何采用以下标记并让它产生我们看到的结果?
<asp:Label ID="MyLabel"><%= myObject.Text%></asp:Label>Run Code Online (Sandbox Code Playgroud)
有没有人知道任何会深入探讨ASP.NET内部工作的文章?
我试图以声明方式将TextBox控件的Text属性设置为变量的值.我发现将设置text属性的唯一方法是将其放在代码隐藏页面中,这是我想要避免的.
我试图做以下所有事情,但没有成功:
<asp:TextBox ID="myTxt" runat="server" Text='<%# MyNamespace.MyClass.StaticString %>' />
<asp:TextBox ID="myTxt" runat="server" Text='<%= MyNamespace.MyClass.StaticString %>' />
<asp:TextBox ID="myTxt" runat="server" Text='<% Response.Write(MyNamespace.MyClass.StaticString); %>' />
<asp:TextBox ID="myTxt" runat="server" /><% myTxt.Text = MyNamespace.MyClass.StaticString; %>
Run Code Online (Sandbox Code Playgroud)
这是否可能,如果是这样,怎么样?
我正在使用适用于iPhone的简单HTML5格式,我想使用Placeholder属性在文本字段中显示错误警报,但我不知道如何通过Javascript访问它.
这是一个字段示例HTML代码:
我希望占位符文本(也许是颜色?)会在表单调用之前调用javascript Validate函数,但无论我尝试什么样的概念,我都无法改变它.
谢谢!
我刚刚开始用ASP做网页,所有的代码都感觉......很乱.
<% if (new Random().NextDouble() < 0.5) { %>
<asp:Image ID="image" runat="server" ImageUrl="~/1.jpg" />
<% } else { %>
<asp:Image ID="image" runat="server" ImageUrl="~/2.jpg" />
<% } %>
Run Code Online (Sandbox Code Playgroud)
目前,我有一个非常基本的页面内容,但最终我将不得不添加逻辑和更多的显示元素.所以我来找你,所以.
首先,我将如何清理这一小段代码?第二,我需要知道什么?
编辑:在asp:Image从VS2008生成的标签,然后我添加了if基于我在网上找到的块.我有很多使用C#的经验,但绝对没有使用ASP的经验,所以如果对这段代码有更多的微妙之处,我不会抓住,无论如何都要启发!
作为程序员,我喜欢开发算法.我喜欢解决问题并找出一个干净,高效,可读,优雅的解决方案.然而,我似乎发现,我的大部分时间都用于验证和清理表单数据,并将其传递以准备各种SQL语句.也许这就是"它的方式",但我怀疑我可能做错了.
您如何避免无休止地验证输入和构建数据库交互的死亡陷阱?你使用第三方图书馆吗?写自己的图书馆?或者这就是它的方式?
我正在考虑在我的Web应用程序上创建一个隐藏/可显示的菜单.在此之前,我为此目的广泛使用PHP和AJAX.但是,由于HTML元素id在JSF框架中重新生成,我发现这种方法至少在我的范围内不再可行.
我在JSF中读过f:ajax标签并尝试实现它.显然没有运气给我.它看起来很容易,但我仍然无法找出我做错了什么.
我准备了一个原型来测试f-ajax标签功能,但没有运气.这是代码
` <h:body>
<h:outputLabel>
<h:outputText value="Click A" />
<f:ajax event="click" render="textA"/>
</h:outputLabel>
<h:outputLabel>
<h:outputText value="Click B" />
<f:ajax event="click" render="textB"/>
</h:outputLabel>
<h:outputLabel>
<h:outputText value="Click C" />
<f:ajax event="click" render="textC"/>
</h:outputLabel>
<h:outputText id="textA" value="Click A" />
<h:outputText id="textB" value="Click B" />
<h:outputText id="textC" value="Click C" />
</h:body>`
Run Code Online (Sandbox Code Playgroud)
当我点击特定标签时,没有任何事情发生.textA,textB和textC元素已经在第一时间呈现.我做错了什么人?
提前致谢.
webforms ×10
asp.net ×6
c# ×3
.net ×1
ajax ×1
coding-style ×1
dispose ×1
encryption ×1
file-upload ×1
html ×1
html5 ×1
java ×1
java-ee ×1
javascript ×1
jsf ×1
php ×1
viewstate ×1