只需将常量放在 app_code 文件夹内的公共模块中,或者如果您不想这样做,只需在 app_code 中创建一个类并使用 using (imports) 关键字在每个中导入命名空间(类名)查看,您可以这样使用它。
或者,如果这样做有意义,只需将它们添加到您的视图模型中 - 请记住,将这些变量添加到您的模型中可能没有意义,但将它们添加到您的视图模型中是有意义的!这就是视图模型的用途,这个视图模型可以从公共模块或类中获取常量值,或者您甚至可以在您的实际视图模型本身中设置它,这样您将只在一个地方定义值并且您不需要在每个视图中使用任何命名空间导入 :)
让我知道它是怎么回事,如果还有什么我可以做的来帮助你。
在 vb.net 中,但与 csharp 相同,因为它是 vb,所以很容易理解。
Public class YourModel
// this is where you have the normal model you have... No big deal
End Class
...
// now you make the view model urself
...
Public class MyViewModel
Public MyNormalModel as YourModel
//notice we r declaring ur normal model as a variable, u can use a property instead
Public MyPathConstant1 as string = "abc"
Public MyPathConstant2 as string = "abc"
Public MyPathConstant3 as string = "abc"
End Class
现在,您必须将 MyNormalModel 的值设置为您当前的模型实例,尽管您可以在您的控制器中执行此操作,但最好在 MyViewModel 类中创建一个方法,该方法将您当前模型的副本作为参数并执行将 MyNormalModel 设置为我们刚刚传入参数的当前模型。
您仍然可以在控制器中进行该调用,但另一方面,人们更喜欢做的是,与其将整个普通模型作为属性传递,不如从普通模型中获取他们需要的点点滴滴,然后将它们放入视图中(即:您可能只需要普通模型中的一半属性位于视图模型中)。这是因为,请记住,视图模型将被传递给视图,并且他们不想传递他们不会使用的东西:)。但这意味着您最有可能需要一个一个地设置这些属性(除非这些确切的属性被封装在一个通常不会偶然发生的子类中,哈哈)。
为了简单起见,我将它保存在一个镜头中,这样您就可以一次性复制正常模型。
现在,当您将视图模型传递给您的视图 (MyViewModel) 时,您将能够通过对象表示法及其属性使用和访问普通模型,例如... Model.MyNormalModel.Property1。等等,并在视图中用它做任何你想做的事情......此外,您可以像这样访问视图模型的其余部分(我们设置的 const 值)...... Model.MyPathConstant1 和 Model.MyPathConstant2 等等......所以您几乎可以访问您想要的所有内容,您的普通模型以及您稍后通过现在称为视图模型添加的任何其他内容。
请原谅拼写错误 - 来自 ipad 的写作,哈哈。让我知道这是否更有意义。