在ASP.NET MVC的Razor视图中,变量用于存储和操作数据,其作用域和生命周期取决于声明位置。以下是关于Razor视图中变量的详细说明:
int
, string
)及复杂对象。@{ }
)中声明,仅在该块内有效。@
符号直接声明,如@var name = "John";
,整个视图内可用。ViewBag
、ViewData
或Model
传递,跨视图或控制器共享。@{
// 局部变量
int count = 10;
string message = "Hello, Razor!";
// 动态类型(ViewBag/ViewData)
ViewBag.Title = "Home Page";
ViewData["User"] = new { Name = "Alice" };
}
<!-- 页面级变量 -->
@var greeting = "Welcome";
ViewBag
)和静态类型(如Model
)。ViewBag
或未传递Model
。ViewBag
传递:ViewBag
传递:@ViewBag.NonExistProperty
抛出异常。ViewData.ContainsKey
:ViewData.ContainsKey
:Model
绑定表单字段。Model
绑定表单字段。@model
明确视图模型类型。ViewBag
:降低代码可读性。通过合理使用变量,Razor视图能高效实现动态内容渲染,同时保持代码可维护性。
没有搜到相关的文章