如何在ASP.NET MVC2中为Html.LabelFor()添加"id"属性?
这是我的标签代码:
<%=Html.LabelFor(x => x.FirstName)%>
Run Code Online (Sandbox Code Playgroud)
这是我失败的尝试:
<%=Html.LabelFor(x => x.FirstName, new { @id = "first-name" } )%>
Run Code Online (Sandbox Code Playgroud)
谢谢.
我在一个表单上有两个按钮.一个用于提交表单而另一个用于搜索.我不希望搜索按钮触发任何服务器端或客户端验证.
我怎样才能做到这一点?
谢谢.
编辑
我正在服务器上使用Data Annotations进行验证,例如:
[Required(ErrorMessage = "Institution is required")]
[Range(1, 2, ErrorMessage="Please select an institution")]
[DisplayName("Institution")]
public int InstitutionId { get; set; }
Run Code Online (Sandbox Code Playgroud)
在客户端我正在使用这个:
<% Html.EnableClientValidation(); %>
Run Code Online (Sandbox Code Playgroud) 我正在开发一个Asp.net项目,我通过页面对象上的LoadControl()动态地在页面上创建了一些用户控件,但是当我尝试通过任何页面进行任何回发"The state information is invalid for this page and might be corrupted."时,即使我设置了动态创建的控件的Viewstate为假.
如果您遇到此问题,请告诉我您是如何修复它的.
堆栈跟踪是: -
[FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or a non-white space character among the padding characters. ]
System.Convert.FromBase64String(String s) +0
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +77
System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4
System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +37
System.Web.UI.HiddenFieldPageStatePersister.Load() +147
[ViewStateException: Invalid viewstate.
[HttpException (0x80004005): The state information is invalid for this page and might be …Run Code Online (Sandbox Code Playgroud) 我想本地化/全球化我的登录页面上的字段.我正在使用带有剃刀视图引擎的ASP.NET MVC 3 Preview 1.
一些背景
首先,我设置了我的路由并添加了一个本地化属性处理程序,以便我可以编写http://mysite.com/{lang}/{controller}/{action}/{id}.现在这一切都很好.在我的Views文件夹中,我添加了一个App_LocalResources目前为止相应的Home文件夹.我甚至可以为不同的语言添加语言文件,例如Index.resx和Index.sv.resx`.
问题
在Account.resx根目录中调用一个文件App_GlobalResources我当然想象我应该可以从我的页面访问它.在我AccountModel.cs(随安装/模板项目一起提供)中,我将以下内容添加到LogOnModel中
public class LogOnModel
{
[Required]
[Display(Name = "UserName", ResourceType = typeof(Account))]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password", ResourceType = typeof(Account))]
public string Password { get; set; }
[Display(Name = "RememberMe", ResourceType = typeof(Account))]
public bool RememberMe { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有两个文件 App_GlobalResource
事实上它确实从英文/默认文件中获取文本.但是当我将/ sv /附加到我的URL或甚至确保文化是瑞典文时,它并没有将语言改为我的``Account.sv.resx`中的语言.
可能存在的一个例子 LogOn.cshtml
<div …Run Code Online (Sandbox Code Playgroud) 我想知道为什么我们必须设置serializable属性来保存视图状态中的对象.
另外,我们可以在视图状态中存储哪种类型的对象?
在asp.net MVC视图引擎的上下文中,<%%>和<%:%>之间有什么区别.在MVC2书中,它给出如下:
何时使用第一个以及何时使用第二个?
我需要在javascript中转换内联c#中的双引号.代码如下:
if ("<%= TempData["Message"]%>" == "") {
// code
};
Run Code Online (Sandbox Code Playgroud)
通常,我会像这样使用单引号:
if ('<%= TempData["Message"]%>' == "") {
// code
};
Run Code Online (Sandbox Code Playgroud)
但是,TempData["Message"]它内部有单引号(当它包含由ASP.NET MVC中的Html.ActionLink()帮助程序生成的链接时).因此,虽然我可以将所有ActionLink助手内部更改TempData["Message"]为标签,但这是一个有趣的问题,并且很想知道是否有人有答案.
我在asp.net应用程序上遇到了性能问题.有时需要客户端执行命令30-40秒,有时需要3-4秒.我尝试过SQL Profiler,但我没有看到任何问题.在客户端尝试的相同情况下,我无法在我这边复制问题.
我在想它可能与我正在使用的会话变量有关.我使用了很多来传递页面内的信息.但是,我不清楚它们.
如果我清除它们会有帮助吗?如果是这样会影响其他用户.或者只为该用户清楚?
任何帮助表示赞赏.
在自定义编辑器模板中,我要访问父对象。
我正在使用此代码,但这可能不是最好的方法,尤其是在使用嵌套视图时:
object parent = ViewContext.Controller.ViewData.Model;
Run Code Online (Sandbox Code Playgroud)
有人有更好的主意吗?
asp.net-mvc ×6
asp.net ×3
c# ×2
viewstate ×2
escaping ×1
html-helper ×1
javascript ×1
sql-server ×1
t-sql ×1
tags ×1
templates ×1
vb.net ×1
view ×1