- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个扩展方法,它将返回 html 助手 TextBoxFor。现在我想对其进行单元测试,但它抛出“对象引用未设置为对象的实例”。
扩展方法
public static MvcHtmlString TextBoxFor<TModel, TProperty>(this HtmlHelper htmlHelper, .......)
{
/* some logic here */
===> (Null Exception)
return htmlHelper.TextBoxFor(......);
}
HtmlHelper 模拟是正确的,因为我在几个地方使用过它。
最佳答案
无需模拟 HtmlHelper。您可以只创建一个假的 View 模型类,例如 TestViewModel 并在您的单元测试中执行如下操作:
//-- Arrange
TestViewModel testViewModel = new TestViewModel()
{
Name = "sdfsd"
};
IViewDataContainer dataContainerMock = MockRepository.GenerateStub<IViewDataContainer>();
dataContainerMock.ViewData = new ViewDataDictionary<TestViewModel>(testViewModel);
HtmlHelper<TestViewModel> myHelper = new HtmlHelper<TestViewModel>(new ViewContext()
{
ViewData = new ViewDataDictionary<TestViewModel>(this._testViewModelWithoutMaxLength)
}, this._dataContainerMock);
//-- Act
MvcHtmlString result = //call your extension
//-- Assert
//add asserts here
有点晚了,但希望对某人来说还可以
关于asp.net-mvc-3 - 单元测试 HtmlHelper 自定义 TextBoxFor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5594171/
我想以 MM/dd/yy 格式在文本字段中显示日期。我将模型类描述为: public class VacancyFormViewModel { public int? ID { get; se
在我的数据库中,我存储了数据类型为 decimal 的字段。我在我的 ASP.NET 应用程序中使用完全相同的 (decimal) 数据类型。 为了显示值,这是在我的 View 中。 @Html.Te
请考虑以下示例: 查看模型 public class FooViewModel { public DateTime Date { get; set; } } 控制者 public class
我有一个 SQL Server 2012,其中我有一个包含两列 TITLE 和 MONTH 的 AWARD 表。 TITLE 是 varchar(256),不能为 NULL。 MONTH 是一个整数,
我在 razor 页面中有这段代码。 @{ var countryCode = Model.CountryCode;} @if (countryCode.Equal
好的,我这里有一个奇怪的。我知道该值已正确传递给该属性,因为它工作正常: @Html.TextBox("Foo", Model.Foo, new { @class = "bar" }) 现在如果我这样
这个问题已经有答案了: How to prevent browser from remembering text field content? [duplicate] (1 个回答) 已关闭 6 年前
我的 MVC 应用程序中有一个奇怪的问题。 当用户从下拉列表中选择一个日期时,它会清除 StartDate和 EndDate领域。 我有以下代码片段: Start date: @Model.S
我有两个助手:Html.TextBox 和 Html.TextBoxFor Html.TextBox(someId, someValue, new { @class = "text-box singl
我在 MVC 表单上有以下 TextBoxFor: @Html.TextBoxFor(m => m.SalesSubTotal, null, new { @class = "form-cont
我想使用 html 助手 (TextBoxFor) 屏蔽电话号码 这是我的代码 Model : [Required(ErrorMessageResourceType =
我正在尝试更改有关是否选中复选框的 TextBoxFor 只读属性。我读过其他帖子,但答案似乎对我不起作用。请任何人指出我在下面的代码中错过了什么。 @Html.La
我有一个要求,如 @Html.TextBoxFor 以逗号分隔格式显示货币,不接受负值和特殊字符。同时,当货币不可用时,我将此 TextBoxFor 的值更改为“不可用”。如何在 View 中使用十进
我正在尝试创建一个集中式登录表单,但使用下面的代码,输入文本左对齐,图标右对齐: @Html.TextBoxFo
我目前正在工作中处理一个网站。到目前为止一切正常,除非我将一个函数移动到一个库以便它可以重用。 该函数是一组两个单选按钮的单击事件。单击"is"按钮时,需要出现一个文本框及其标签。单击“否”按钮时,它
我有一个设置为只读的 TextBoxFor,它当前包含一个人的姓氏。我现在需要做的是添加它,以便此人的后缀(II、III、Sr.、Jr. 等)显示在他们姓氏旁边的文本框中。到目前为止,这就是我的姓氏。
我在@Html.TextBoxFor 中显示一些长文本。文本包含换行符、回车符等,但@Html.TextBoxFor 似乎不尊重这些。有什么我可能遗漏的想法吗? 最佳答案 文本框每个定义单行。 您必须
我正在改进我的元素设计,我想在我的 @html.textboxfor 中添加水印。我能够添加它,但它不适用于 IE 8。因此,我想在我的 @html.textboxfor 中添加一个图像,以便用户知道
我在 MVC View 页面中有这个控件作为 @Html.TextBoxFor(m => m.TemplateGroupName, new { tabindex = "1", placeho
我有一个禁用的输入字段显示来自模型的数据。 @Html.LabelFor(model => model.first_name, "Förnamn", new
我是一名优秀的程序员,十分优秀!