小编Mr *_*rok的帖子

Asp.net MVC ModelState.Clear

任何人都可以给我一个关于ModelState在Asp.net MVC中的角色的简洁定义(或者链接到一个).特别是我需要知道在什么情况下打电话是必要的或可取的ModelState.Clear().

有点开放了 ......对不起,我想如果告诉你我在做什么可能会有所帮助:

我在一个名为"Page"的控制器上有一个Edit of Action.当我第一次看到表单更改页面的详细信息时,所有内容都很好地加载(绑定到"MyCmsPage"对象).然后,我单击一个按钮,为MyCmsPage对象的某个字段(MyCmsPage.SeoTitle)生成一个值.它生成正常并更新对象,然后我返回动作结果与新修改的页面对象,并期望相关的文本框(使用渲染<%= Html.TextBox("seoTitle", page.SeoTitle)%>)更新...但是它显示了加载的旧模型的值.

我通过使用来解决它,ModelState.Clear()但我需要知道它为什么/如何工作所以我不只是盲目地做.

的PageController:

[AcceptVerbs("POST")]
public ActionResult Edit(MyCmsPage page, string submitButton)
{
    // add the seoTitle to the current page object
    page.GenerateSeoTitle();

    // why must I do this?
    ModelState.Clear();

    // return the modified page object
     return View(page);
 }
Run Code Online (Sandbox Code Playgroud)

ASPX:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MyCmsPage>" %>
....
        <div class="c">
            <label for="seoTitle">
                Seo Title</label>
            <%= Html.TextBox("seoTitle", page.SeoTitle)%>
            <input type="submit" value="Generate Seo Title" name="submitButton" />
        </div>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc post-redirect-get modelstate

114
推荐指数
6
解决办法
10万
查看次数

IIS sc-win32-status代码

[背景]我的iis日志中有64个代码,我认为客户端在上传大文件时断开连接.我也得到一些ComExceptions与我收集的相同的状态代码是几乎相同的问题.鉴于这些问题的频率很低,我认为这些问题只是预期而且不是问题,但确实引起了这个问题:

[问题]是否有某个可能的win32状态代码列表; 特别是那些最终会出现在IIS日志中的?

iis iis-7

29
推荐指数
1
解决办法
9万
查看次数

ASP.NET MVC角色授权

我想将控制器类的默认角色设置为"管理员,内容编辑器"

[Authorize(Roles = "Administrators, Content Editor")]
Run Code Online (Sandbox Code Playgroud)

我通过使用上面的属性装饰控制器来完成此操作.但是,我希望所有人都可以使用一个操作(即"查看").如何重置角色,以便每个人(包括完全未经授权的用户)都可以访问此操作.

注意:我知道我可以用上面的authorize属性来装饰每一个动作的其他动作,但我不想一直这样做.我希望默认情况下所有控制器操作都是不可能的,这样如果有人添加了一个操作,他们就必须做出一个经过深思熟虑的决定,让公众可以使用它.

asp.net-mvc authorization roles

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

在遵循测试驱动开发范例时,我是否应该永远不会使用静态方法,类和单例

我一直在阅读当你尝试在项目中实现单元测试时,静态方法,静态类和单例是邪恶的.在遵循TDD范例时,我是否应该忘记它们曾经存在过并且从未再次使用它们,或者有时可以使用它们吗?

tdd singleton static-methods design-patterns static-classes

17
推荐指数
1
解决办法
3797
查看次数

Web容量分析工具(WCAT)教程

我发现很难找到关于如何快速启动和运行WCAT的任何体面的教程.有没有人有一个关于它的正确教程的链接,他们发现在试图掌握WCAT时有用?

wcat load-testing

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

没有订阅者的RabbitMQ队列

"持久"和"持久模式"似乎与重新启动有关,而不是与没有订户接收消息有关.

我希望RabbitMQ在没有订阅者时将消息保留在队列中.当订户上线时,该订户应该收到该消息.RabbitMQ可以实现吗?

代码示例:

服务器:

namespace RabbitEg
{
    class Program
    {
        private const string EXCHANGE_NAME = "helloworld";

        static void Main(string[] args)
        {
            ConnectionFactory cnFactory = new RabbitMQ.Client.ConnectionFactory() { HostName = "localhost" };

            using (IConnection cn = cnFactory.CreateConnection())
            {
                using (IModel channel = cn.CreateModel())
                {
                    //channel.ExchangeDelete(EXCHANGE_NAME);
                    channel.ExchangeDeclare(EXCHANGE_NAME, "direct", true);
                    //channel.BasicReturn += new BasicReturnEventHandler(channel_BasicReturn);

                    for (int i = 0; i < 100; i++)
                    {
                        byte[] payLoad = Encoding.ASCII.GetBytes("hello world _ " + i);
                        IBasicProperties channelProps = channel.CreateBasicProperties();
                        channelProps.SetPersistent(true);

                        channel.BasicPublish(EXCHANGE_NAME, "routekey_helloworld", false, false, channelProps, …
Run Code Online (Sandbox Code Playgroud)

c# rabbitmq

10
推荐指数
1
解决办法
4652
查看次数

为什么MongoDB shell新ISODate(0001-01-01)返回日期1901-01-01

在Windows上的MongoDB Shell中,如果运行值为的查询

new ISODate('0001-01-01T00:00:00Z')
Run Code Online (Sandbox Code Playgroud)

它实际上似乎在搜索

new ISODate('1901-01-01T00:00:00Z')
Run Code Online (Sandbox Code Playgroud)

如果直接在Mongo Shell中输入"new ISODate('0001-01-01T00:00:00Z')",则可以看到此转换发生时返回ISODate("1901-01-01T00:00:00Z").

奇怪的是,当您使用"新日期"代替"新ISODate"时输入:

new Date('0001-01-01T:00:00:00Z')
Run Code Online (Sandbox Code Playgroud)

它返回正确的ISODate("0001-01-01T00:00:00Z").

两者都应该根据文档返回ISODate,并且在我看来应该采取相同的行为.有谁知道他们为什么不这样做,是否是一个错误或功能?

mongodb mongo-shell

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

YAGNI和KISS原则有什么区别?

显然YAGNI和KISS之间存在语法差异,但我看不出它们之间存在任何语义差异.它们真的本质上是一样的吗?

yagni design-principles

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

HtmlHelper方法和RouteValueDictionary

在编写htmlhelper扩展时如果我想为我的htmlhelper扩展方法支持类似结构的ctors,我使用RouteValueDictionary如下:

public static string ListBoxDict(this HtmlHelper htmlHelper, 
                                 string name, 
                                 object value, 
                                 object htmlAttributes)
{
    return ListBoxDict(htmlHelper, 
                       name, 
                       value, 
                       ((IDictionary<string, object>)
                           new RouteValueDictionary(htmlAttributes)));
}
Run Code Online (Sandbox Code Playgroud)

我的问题真的是为什么需要RouteValueDictionary......我知道你不能只是投了htmlAttributesIDictionary<string, object>......虽然我不知道为什么,并且可能是在那里我很困惑.不RouteValueDictionary应该与路由有关,因此与HtmlHelper方法无关?就像我说的那样,我可能会忽略这一点,所以如果有人能告诉我我错过了什么,我会很高兴.

干杯...

编辑:回应丹的回答 - >

我只是按照我在mvc源代码中看到的用于输入助手的内容...

  • 看" src\SystemWebMvc\Mvc\Html\InputExtensions.cs"

它做如下:

public static string TextBox(this HtmlHelper htmlHelper, 
                             string name, 
                             object value, 
                             object htmlAttributes)
{
    return TextBox(htmlHelper, 
                   name, 
                   value,
                   new RouteValueDictionary(htmlAttributes))
}
Run Code Online (Sandbox Code Playgroud)

显然是捷径,但它是一个混蛋还是可以做到的?

asp.net-mvc html-helper

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

IPhone HTML5功能支持

有没有人有链接到各种浏览器/平台支持的HTML5功能的确定列表?特别是我需要知道IPhone支持的HTML5的哪些功能.没有自己的http://html5test.com对我来说没有多大用处.

iphone html5

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

ASP.NET潜在危险请求Javascript正则表达式

什么是Microsoft .NET Framework用于执行标准验证的正则表达式,该标准验证导致HttpRequestValidationException"当发布HTML或其他可能不安全的内容时,从客户端检测到潜在危险的Request.Form值".

我希望它的精确副本转换为JavaScript,以便提前通知用户.

我当前的正则表达式(/(&#)| <[^ <>] +> /)很接近,但与.NET不同.

我知道这对于不同的.NET版本可能会有所不同,所以我特别想知道:

  • .NET 2的正则表达式
  • .NET 4的正则表达式

javascript regex asp.net validation

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