在Html Helpers中是否有一个简单的替代GetModel AttemptedValue?

时间:2008-11-17 22:49:52

标签: asp.net-mvc

我正在尝试创建一些HtmlHelper扩展,并遇到了一些障碍,试图让我的扩展方法使用ViewData.ModelState定义的尝试值。 HtmlHelper.GetModelAttemptedValue()方法标记为内部,不适用于我的扩展方法。在MVC中有一个简单的替代方案吗?

1 个答案:

答案 0 :(得分:2)

我不确定你要去的地方。你不能只使用HtmlHelper可用的ViewData.ModelState并自己调用TryGetValue吗?我知道它不是DRY,但它似乎比通过反射在助手中调用三行方法更容易。

public static string MyHelper( this HtmlHelper helper, string modelKey)
{
     ModelState modelState;
     if (helper.ViewData.ModelState.TryGetValue( modelKey, out modelState))
     {
        string attemptedValue = modelState.AttemptedValue;
     }
}