您好,
1.如果我在 Model 定义了一个 public string LoginName1 { get; set; }
那我要怎麼在 View 里去显示出这个变数里的字串呢?
我用
@Html.LabelFor(m => m.LoginName1, new { @id = "LoginName1" })
跑出的不是我要的?
那到底该怎麼写才输出变数值?
?
2.没有@Html.Image ?
用google 找到这个
http://stackoverflow.com/questions/509352/where-is-html-image-in-asp-net-mvc-rc
但是输出被 Html编码过? 再改成
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
/// <summary>
/// HtmlHelperExtensions 的摘要描述
/// </summary>
public static class HtmlHelperExtensions
{
public static MvcHtmlString Image(this HtmlHelper helper,
string url,
string altText = "",
object htmlAttributes = null )
{
TagBuilder builder = new TagBuilder( "img" );
builder.Attributes.Add("src", url );
builder.Attributes.Add("alt", altText);
if (htmlAttributes != null)
{
builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
}
return MvcHtmlString.Create(builder.ToString( TagRenderMode.SelfClosing));
}
}
那麼是不是所有自订的 HtmlHelperExtensions 都得用 MvcHtmlString.Create( ) 去防止 Html 编码呢?是的,没有@Html.Image,自订方法设计者是你,你想怎麼设计就怎麼设计。
3.我之前网站是写成 ASP.NET 4.0 WebForm 的, 也就是所有的控制项的id 都是由 ASP.NET自己依控制项的放的槽状
在输出时ASP.NET 自己串起 id 的字串
那改写成 ASP.NET MVC时, 原本 css 里用 id 指定的部份要一起改?
有办法让 ASP.NET MVC 的 View 在产生控制项的 id 时自动套用 ASP.NET 4.0 WebForm 产生 id的逻辑吗?
MVC无控制项概念,View只关心如何呈现Controller送过来的资料。
4.我之前网站的登入验证是另外写一个class去继承 MembershipProvider
然後去接 WebForm 的 Login 控制项
如果登入页面想改成 MVC的话
有办法延用之前写的这个 class吗?
有没有现成的范例可以参考?
因为 MVC 所产生的
AccountController.cs
AccountModels.cs
InitializeSimpleMembershipAttribute.cs
看不到懂要怎麼跟之前写的 class 整合?
ASP.NET MVC 4的范例有加上OAuth设计,比较复杂。建议参考可ASP.NET MVC 3范本范例。