小编Swo*_*op 的帖子

在ASP.NET MVC中,response.redirect如何工作?

我在经典的ASP和ASP.NET webforms中使用了response.redirect.然而,在MVC 2.0中,我遇到了一些特殊的东西.

我在控制器类中有一个私有方法,多个控制器方法使用它来帮助加载和验证某些信息.如果发现问题,则将此私有方法设置为重定向到通用错误消息页面.

我注意到的一个大问题是调用控制器类和页面视图尝试在重定向实际发生之前完成渲染和加载.这在开发中很烦人,因为View会在我的通用错误页最终加载之前抛出我需要忽略的异常.

如上所述,我习惯于旧的response.redirect模型,它阻止了页面上的后续代码被执行,因为新页面会加载.

任何有关MVC重定向的帮助或建议都将不胜感激.

asp.net-mvc response.redirect

29
推荐指数
3
解决办法
7万
查看次数

在C#或OOP中,2个类应该相互引用吗?

我正在使用C#编写类库.我设计了3个主要类来帮助建模数据.设计它们使得类A包含类B实例的列表,而类B包含对类C实例的引用,即:

public class Policy
{
    public List < PolicyTerm > myTerms;
    person Customer;
    string PolicyNumber;
}

public class PolicyTerm
{
     public Billing myBill;
     Datetime effectivedate;
     List < Activities > termActivities;
     public doAction()
     {
          use value from Policy, like PolicyNumber;
     }

}

public class Billing
{
    float remainingBalance;
    Datetime nextDueDate;
    public void doSomething()
    {
         reference value from PolicyTerm, such as effective date;
         use value from Policy, such as PolicyNumber;
    }
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是当我尝试在PolicyTerm或Billing中使用需要来自包含类的数据的方法时.在上面的示例中,这将是尝试使用PolicyTerm中的值的方法"doSomething",例如请求或将数据保存到数据库中的术语的生效日期.

我想知道我是否因为这种情况而为我的班级设计了正确的设计.我是否应该在子类中添加对"父"类的引用,以使父数据可用?或者我是否需要重新考虑代码的整体结构和设计?

我觉得类设计适用于建模数据和业务规则,但它确实会产生一些限制,如上述情况.我喜欢将PolicyTerm和Billing分开,以便能够独立地修改和测试代码.此外,我觉得它保持每个部分更小,更简单.

任何可以提供的建议都将非常感激.

更新:代码块已更新,以提供有关代码的更多详细信息.

.net c# asp.net oop

15
推荐指数
1
解决办法
5275
查看次数

如何通过编程生成的PDF找到问题?

我的小组一直在使用itext-sharp库和C#/ .NET来生成自定义的动态PDF.在大多数情况下,这个过程非常适合我们的需求.我们在开发/测试期间可能遇到的一个问题是布局问题,这可能导致PDF无法在Adobe Reader中正确打开/呈现,尤其是.较新版本的Acrobat/Reader.

该文档将正确打开前X页的显示.但是如果出现错误,则不会显示文档中的其余页面.

如上所述,我们通常能够使用C#/ iText代码将此问题跟踪到布局类型问题.我们最终通过使用猜测和检查方法或分而治之来找到错误.它有效,但它不是解决这些问题的最佳方法.

我想知道是否有任何可用的工具可以加快验证PDF文档的过程,并有助于指出文档中的错误?

pdf pdf-generation ghostscript itextsharp

13
推荐指数
2
解决办法
7019
查看次数

当值不为null时,清除在ASP.NET MVC视图中输出值的方法

有没有更好的方法来编写下面的代码?我有相当多的块,这使得Viewpage中的代码非常混乱.

只有在满足某些条件时才需要输出带有相关标签的数据值,如果该值不为空,则几乎总是如此.

我可以想到的选项是使用response.write来最小化ASP脚本标记的使用,或者格式化网页是这样一种方式,标签显示具有适当的n/a类型值.

<% if (myData.Balance != null)
{ %>                       
   Balance: <%= String.Format("{0:C}", (myData.Balance))%>                        
<% } %>
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc

8
推荐指数
1
解决办法
2324
查看次数

如何将Outlook的拖放上传功能添加到Web表单?

我正在寻找一种方法,允许用户以简单的方式将Outlook电子邮件上传到基于Web的系统.

我可以让用户以手动方式工作.他们可以将电子邮件从Outlook拖放到桌面,从而创建.msg文件.这很好用,尤其是.如果电子邮件中有附件也存储在.msg文件中.然后可以使用传统的"input type = file"html字段上载此文件.

如果可能的话,我想简化这个过程.我见过一些网站,它们具有硬盘驱动器上存在的文件的拖放上传功能.

但是,我不确定是否存在任何允许从Outlook直接拖放的可能会创建.msg文件或类似内容并处理文件上载的内容.换句话说,该解决方案可以删除将电子邮件消息拖动到桌面以创建临时.msg文件以进行上载的手动步骤.

这是可能的,如果是的话,怎么样?所有用户目前都在Windows XP上,拥有Outlook 2007,IE6或更高版本以及Firefox.后端服务器正在为有问题的应用程序运行Java(我们的编程人员使用ASP.NET w/C#进行Web开发),但我认为任何解决方案都主要基于客户端技术,如Flash或JQuery.

html upload outlook drag-and-drop

6
推荐指数
1
解决办法
6971
查看次数

使用子字符串与使用通配符的SQL比较的性能

我正在处理两个表之间的连接条件,其中一个要匹配的列是值的连接.我需要将tableA中的columnA加入tableB中columnB的前2个字符.

我已经开发了两个不同的语句来处理这个问题,我试图分析每种方法的性能.

方法1:

ON tB.columnB   like  tA.columnA || '%'
Run Code Online (Sandbox Code Playgroud)

方法2:

ON substr(tB.columnB,1,2) = tA.columnA
Run Code Online (Sandbox Code Playgroud)

与方法2相比,查询执行计划使用方法1的步骤少得多,但是,方法2的执行速度要快得多.此外,执行计划显示方法2的建议索引,可以提高其性能.

我在IBM iSeries上运行它,虽然对一般意义上的答案感兴趣,以了解有关sql查询优化的更多信息.

方法2执行得更快是否有意义?

这个问题类似,但看起来没有人对这些方法的性能差异提供任何具体的答案: LEFT()与LIKE运算符之间的T-SQL速度比较.

PS:需要这种类型的连接的表设计不是我此时可以更改的内容.我意识到将具有不同类型数据的字段分开是可取的.

sql db2 optimization ibm-midrange

6
推荐指数
1
解决办法
2万
查看次数

使用ASP.NET MVC,Ajax化一个简单表单的首选方法是什么?

我想在网页上添加一个简单的评论/消息框.当用户输入注释并点击提交时,我想将此消息保存到数据库并将注释添加到页面上显示的列表中,而不刷新整个页面.

但是,我不确定这些天最好的方法.我正在使用ASP.NET MVC 2.我一直在尝试阅读使用JQuery来实现这种功能,但是我无法全面了解正确的方法并且也不过时(即它是使用MVC 1或更早版本的JQuery的预览版本.

我可以找到不同部分的片段,但没有关于它们如何一起工作的信息,或者信息似乎已经过时并且不再有效.

有人能指出我正确的方向吗?

理想情况下,我正在寻找一个简单的JQuery代码示例,一个HTML表单中与普通post方法的任何关键差异的片段,以及MVC Controller中使用的基本方法.我需要一些东西来帮助理解的灯泡打开.:)

任何帮助将不胜感激!!

ajax asp.net-mvc jquery asp.net-mvc-2

5
推荐指数
1
解决办法
850
查看次数

如何部署和保护ASP.NET Web应用程序以供内部和外部用户使用?

我的公司有几个用ASP.NET编写的Web应用程序.我们需要将这些应用程序提供给Intranet用户以及经过身份验证的外部用户.尽管内部用户可以使用一些额外的功能,但这两个功能的大多数功能都是相同的.两组不同的用户将使用稍微不同的安全设置...我们的内部人员将使用LDAP对Exchange进行身份验证,而外部用户将在SQL Server中拥有帐户.

部署我们的网络应用程序的最佳方法是什么?我们应该将2个副本部署到不同的服务器,一个配置为Intranet,一个配置为外部用户?或者是否有更好的方法在两台服务器之间共享代码,但是可以灵活地使用不同的web.config设置来实现安全性?

asp.net iis asp.net-mvc

5
推荐指数
1
解决办法
202
查看次数

如何在C#中编写Windows服务来为用户启动应用程序?

是否可以启动一个程序,以便具有Windows服务的用户可以使用它?我一直在使用C#中的Process.Start().我可以启动服务以启动进程下任务管理器列表中出现的某种进程.但是,程序nevers出现在屏幕上.默认情况下,它在用户名"SYSTEM"下运行.我已调整服务管理器中的"登录"选项以匹配登录到计算机的人员,但这不会导致窗口出现.

我觉得我要么缺少一个简单的设置,要么为此需要采取不同的方向.下面是我一直在使用的代码,用于启动Firefox作为测试应用程序.

    private void startRunDap()
    {
        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.FileName = "Firefox";
        startInfo.WindowStyle = ProcessWindowStyle.Normal;
        startInfo.UseShellExecute = true;
        Process.Start(startInfo);

        //Process.Start("Firefox");

    }
Run Code Online (Sandbox Code Playgroud)

.net c# windows-services

3
推荐指数
1
解决办法
1404
查看次数