小编Adr*_*ore的帖子

Visual Studio 2010中新的<%:%>编码语法有什么作用?

Scott Hanselman关于新VS 2010功能的最新博客文章提到了"新的<%:%>编码语法".它有什么作用?用谷歌搜索这些标签似乎不可能......

谢谢,

阿德里安

asp.net asp.net-mvc visual-studio-2010

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

我可以从动作过滤器返回动作结果吗?

通常我在将数据提交到数据库之前在action方法中验证我的模型.

[HttpPost]
public ActionResult MyActionMethod(MyModelType model){
if (ModelState.IsValid){
   //commit changes to database...
   return View("SuccessView",model);
}
return View(model);
}
Run Code Online (Sandbox Code Playgroud)

但在一些非常罕见的情况下,我需要在提交模型时在业务层中执行一些额外的验证.如果发生验证错误,我想在业务层中引发异常并使用该异常返回带有验证错误的视图.

我正在寻找一种方法来实现它,而无需改变我的控制器中的任何代码.所以我正在寻找避免这种情况的方法:

[HttpPost]
public ActionResult MyActionMethod(MyModelType model){
if (ModelState.IsValid){
   try {
   //commit changes to database...
   } catch (ValidationException e){
      ModelState.AddModelError(...);
      return View(model);
   }
   return View("SuccessView",model);

}
return View(model);
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

我正在考虑一个捕获ValidationExceptions的动作过滤器,并在常规[HandleError]过滤器启动之前返回带有验证错误的合适视图.这样的事情可能吗?

编辑:我刚刚找到解决方案(见下文),但直到48小时后我才能将此标记为正确答案...

validation asp.net-mvc actionresult action-filter

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

如何抑制某些文件的 Intellisense 错误?

Visual Studio 2015 提供了在同一窗口中显示 Intellisense 错误的选项,该窗口还显示常规生成错误。我喜欢它,因为我什至不需要构建来查看我的代码的语法是否正确。

但是,该窗口还显示了一个误报,这似乎与 Intellisense 错误有关。有没有办法抑制特定代码区域或整个文件的智能感知错误?

intellisense visual-studio-2015

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

GCC 4.0:模板函数中"没有匹配的函数调用"

我想知道为什么以下设计的示例代码在Visual Studio 2005中完美运行,但在GCC中生成错误("调用Interpolate()时没有匹配的函数调用",如下所示).

另外,我该如何解决这个问题?似乎错误消息只是一个通用消息,因为GCC没有针对问题的实际原因的更具体的消息,它必须输出一些东西.我有点不知道如何在没有一些非常难看的变通方法的情况下继续移植这个类.

namespace Geo
{
    template <class T>
    class TMyPointTemplate
    {
        T X,Y;
    public:
        inline TMyPointTemplate(): X(0), Y(0) {}
        inline TMyPointTemplate(T _X,T _Y): X(_X), Y(_Y) {}
        inline T GetX ()const { return X; }
        inline T GetY ()const { return Y; }
        //...
        template<T> TMyPointTemplate<T> Interpolate(const TMyPointTemplate<T> &OtherPoint)const
        {
            return TMyPointTemplate((X+OtherPoint.GetX())/2,(Y+OtherPoint.GetY())/2);
        }           
    };
    typedef TMyPointTemplate<int> IntegerPoint;
}

Geo::IntegerPoint Point1(0,0);
Geo::IntegerPoint Point2(10,10);
Geo::IntegerPoint Point3=Point1.Interpolate(Point2); //GCC PRODUCES ERROR: no matching function for call to 'Geo::TMyPointTemplate<int>::Interpolate(Geo::IntegerPoint&)'
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助,

阿德里安

c++ gcc templates

5
推荐指数
2
解决办法
5332
查看次数

只显示一周的 Javascript 日期选择器?

我正在寻找一个基于 Javascript 的日期选择器,它可以让我只显示一周(而不是当前月份)。

理想情况下,它应该是一个可以在必要时扩展到完整月视图并再次返回的视图。

此外,(基于 css?)设计可定制性将是一个加分项。

最好使用 jQuery 解决方案。我对 jQuery 日期选择器进行了简要的了解,但在我看来它只能显示整月。如果我错了,请告诉我。

javascript jquery datepicker

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

有没有什么策略可以避免满足?

令人满意的(“满足”和“就足够”的混成词)是一个决策策略,尝试为充足满足的标准,而不是识别的最佳解决方案。如果在结果计算中考虑了决策过程本身的成本,例如获取完整信息的成本,则令人满意的策略通常可能是(接近)最优的。(来源)

软件工程中的大多数决策都很容易做出,无需在这个主题上思考数小时。想到的第一个解决方案通常足够好,因此我们可以快速使用它并继续进行下一个决定。

但是,也有一些罕见的情况,您必须解决更困难和/或关键的问题。如果以次优方式解决这些问题,您可能会花费大量金钱或时间。

在这些情况下,我通常会尝试提出几种完全不同的解决方案/方法来解决问题。然后我选择一个并改进它,直到我对我的解决方案完全满意。

通常这是有效的,但有时我只能想出一个足够但不是很好的解决方案。我知道我的解决方案不是很好,而且问题很严重,需要付出更多努力。然而,我已经找到的解决方案的知识阻碍了我的创造力,所以我找不到第二个(至少不是马上)。我坚持我的平庸想法,除非我可以问其他人,否则我必须实施它才能继续前进。

有没有技术可以克服这个问题?我能想到的两件事是与其他人进行头脑风暴或散步。

在这些情况下你会怎么做?

language-agnostic

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

DataAnnotationsModelBinder如何使用自定义ViewModel?

我正在尝试使用DataAnnotationsModelBinder,以便在ASP.NET MVC中使用数据注释进行服务器端验证.

只要我的ViewModel只是一个具有直接属性的简单类,一切都可以正常工作

public class Foo
{
    public int Bar {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

然而,DataAnnotationsModelBinder导致一个NullReferenceException试图用一个复杂的时候ViewModel,如

public class Foo
{
    public class Baz
    {
        public int Bar {get;set;}
    }

    public Baz MyBazProperty {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

对于渲染多个LINQ实体的视图来说,这是一个很大的问题,因为我更喜欢使用ViewModel包含多个LINQ实体的自定义s而不是无类型的ViewData数组.

DefaultModelBinder不会有这个问题,所以它似乎是一个错误DataAnnotationsModelBinder.这有什么解决方法吗?

编辑:一种可能的解决方法当然是在ViewModel类中公开子对象的属性,如下所示:

public class Foo
{
    private Baz myBazInstance;

    [Required]
    public string ExposedBar
    {
        get { return MyBaz.Bar; }
        set { MyBaz.Bar = value; }
    }

    public Baz MyBaz
    {
        get { return …
Run Code Online (Sandbox Code Playgroud)

data-binding asp.net-mvc viewmodel

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

密码保护Elmah.axd文件

我已经成功地在我的网络项目中设置了Elmah,我可以访问http://www.myserver.com/Elmah.axd上的崩溃日志 .

唯一的问题是如何保护此URL,以便只有我的同事(而不是匿名用户和登录的用户,但不是我的团队的一部分)可以访问它.ASP.NET表单身份验证已在系统上设置.

谢谢,

阿德里安

asp.net authentication iis elmah axd

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

MbUnit:比较不同的对象实例

我想知道是否有办法比较MBUnit中的两个对象,以便在对象"看起来"相同时传递测试,即使这些是不同的实例?

例如:

[TestFixture]
class ComparisonTestFixture
{

    class foo
       {
           public string bar;
       }

    [Test]
    public void ComparisonTest()
    {

        foo foo1 = new foo()
           {
               bar = "baz"
           };

        foo foo2 = new foo()
            {
                bar = "baz"
            };


        //This assertion should be successful, but it isn't
        //*** Failures ***
        //Expected values to be equal.
        //Expected Value & Actual Value : {foo: bar = "zzz...."}
        //Remark : Both values look the same when formatted but they are distinct instances.
        Assert.AreEqual(foo1,foo2);
    } …
Run Code Online (Sandbox Code Playgroud)

c# mbunit serialization

4
推荐指数
1
解决办法
1434
查看次数

.NET:为什么这个域无法解析?

我试图以编程方式测试给定的域名是否存在.

以下代码行按预期工作:

IPHostEntry IPhst =Dns.GetHostEntry("google.com");
Run Code Online (Sandbox Code Playgroud)

但它同时在同一台主机上的某些域失败了.例如,以下引发异常.

IPHostEntry IPhst =Dns.GetHostEntry("bks-campus.ch");
Run Code Online (Sandbox Code Playgroud)

产生的异常与域名根本不存在时引发的异常相同.

奇怪的是,域名实际存在.我可以从刚刚运行上面代码的同一台机器上浏览它.

这可能是什么问题,我该如何解决这个问题?

编辑: Dig也同意这个域名确实存在:

dig bks-campus.ch

; <<>> DiG 9.5.0-P2 <<>> bks-campus.ch
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14744
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;bks-campus.ch.                 IN      A

;; AUTHORITY SECTION:
bks-campus.ch.          3600    IN      SOA     dns1.bks-campus.ch. hostmaster.kanti-chur.ch. 1275546863 10800 3600 604800 86400

;; Query time: 1214 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: …
Run Code Online (Sandbox Code Playgroud)

.net c# dns

4
推荐指数
1
解决办法
675
查看次数