我是MVC的新手,我正在尝试创建自己的扩展方法,以便可以将其添加到剃刀视图中可用的html帮助器中。Html.DropDownListFor()
使您可以为模型上的所有属性创建一个下拉列表。我想创建一个称为“
helper”的功能Html.StateDropDownListFor()
,它的功能完全相同,只是将下拉列表加载到美国所有50个州中。这样,我不必为我创建的每个状态下拉列表都创建一个SelectList。最简单的方法是什么?现在我有这个:
public static class ExtensionMethods
{
public static MvcHtmlString StateDropDownList(this HtmlHelper html)
{
// ???
}
}
我什至靠近吗?我不想重建整个文本框帮助程序,我只想创建一个利用现有文本框帮助程序但为我执行SelectList的帮助程序。在我看来,这样我可以做到Html.StateDropDownList(x => x.State)
要在Razor视图中使用自定义帮助方法,您需要将其纳入范围。有两种方法可以做到这一点:
@using SomeNamespace
在视图顶部添加一个名称空间,该名称空间定义了包含帮助程序的静态类~/Views/web.config
,添加:<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="SomeNamspace" />
</namespaces>
</pages>
</system.web.webPages.razor>
将自定义帮助程序放入视图范围后,Intellisense应该可以选择它,并且可以使用它:
@Html.StateDropDownList()
现在您的辅助方法需要做一些有用的事情。您可以致电现有的助手:
public static class ExtensionMethods
{
public static MvcHtmlString StateDropDownList(this HtmlHelper html)
{
return html.TextBox("foo")
}
}
或返回一些自定义数据:
public static class ExtensionMethods
{
public static MvcHtmlString StateDropDownList(this HtmlHelper html)
{
return MvcHtmlString.Create("Hello world");
}
}
如果您有一个强类型的视图,并且想要使用一个表达式:
using System.Web.Mvc;
using System.Web.Mvc.Html;
public static class ExtensionMethods
{
public static MvcHtmlString StateDropDownList(
this HtmlHelper<MyViewModel> html
)
{
var stateList = new SelectList(new[]
{
new { Key = "Alabama", Value = "Alabama" },
new { Key = "Idaho", Value = "Idaho" },
new { Key = "California", Value = "California" }
}, "Key", "Value");
return Html.DropDownListFor(
x => x.State, stateList, "-- Select a state --"
);
}
}
然后:
@Html.StateDropDownList()
JFinalConfig 是 JFinal 的核心配置,详情: https://www.jfinal.com/doc/2-1 ,其内容如下: public class DemoConfig extends JFinalConfig { public void configConstant(Constants me) {} public void configRoute(Routes
本文向大家介绍ActionScript 3 添加自己的活动,包括了ActionScript 3 添加自己的活动的使用技巧和注意事项,需要的朋友参考一下 示例 您可以通过扩展Event类来创建自己的事件并进行调度。 然后,您可以使用调度和收听它EventDispatcher。请注意,大多数Flash对象是事件分派器。 请注意,clone如果要重新分派事件,则需要使用该方法。
好的,在laravel 4中,如果我想添加自己的自定义类,例如:库\myFunction.php然后我执行以下步骤: 添加myFunctions.php到app/库/myFunctiosn.php 在app/start/global.php,在ClassLoader::addDirectory(数组(,我添加app_path()。 为了在我的刀片视图中调用它,我添加了以下代码 它是有效的。 但是如
我尝试创建自己的taglib,它扩展了现有的taglib:liferay-UI中的input-asset-links。因此,我在my-ext-web中的web-inf/tld中创建了文件liferay-ui-ext.tld,其中xml如下: 我还在web.xml中添加了以下代码: 13:48:19,661错误[http-bio-8080-exec-22][includetaG:129]当前URL/
问题内容: 我已经从本教程中开发了一个推送通知应用程序:android app中的推送通知 。当我运行应用程序时,将显示注册按钮。当我单击注册按钮,并且注册成功时,设备上会显示一条通知。 如何将其包含在自己的应用程序中?我的应用程序有一个xml解析示例应用程序。在这里,当添加任何新项目时,我希望在设备上显示(显示新订单)一条通知消息。它是在这里自动生成的。 问题答案: 我正在发布Google Cl
我正在用Vaadin创建一个web应用程序。我发现可以使用CSS添加自定义布局,或者在现有的vaadin组件中创建自己的主题。是否有可能在Vaadin应用程序中添加您自己的html元素和css?如果是,您如何实现?(Java 8,Intellij IDEA)