我是一名asp .net初学者。我想使用Site.Master中Site.Master.cs创建的一些对象。有没有简单的方法呢?
我知道如何在MVC中完成它(通过使用view(对象))。但是我怎么能在普通的ASP .net web应用程序中做到这一点?
答案 0 :(得分:2)
如果@Page
文件中的.aspx
指令包含Inherits="XYZ"
,其中XYZ
是.cs
文件中声明的类,则只需添加{ {1}}字段到您的类并为其分配值。您只需使用其名称即可在protected
文件中访问它。
您还可以使用HttpContext.Items
property在单个请求期间保留对象:
.aspx
并在页面中使用它:
HttpContext.Current.Items["SavedItem"] = "hello world";
答案 1 :(得分:2)
我不明白你到底想做什么。
如果您想在标签的标题中插入一些字符串,可以在 SiteMaster.master 文件中插入以下内容:
<img src="<%= Page.ResolveUrl("~/") %>images/logo.png">
而不是:
<img src="images/logo.png">
在第一种情况下,将计算应用程序根目录的路径。在第二种情况下,将有相对链接。这是因为服务器将计算 Page.ResolveUrl(“〜”)函数的值,并将在 src 标记中进行写入。
如果你正确定义了它们,你可以用任何其他方法做同样的事情。但我不建议您在.aspx文件(或.master文件)中实现复杂的逻辑。因为在测试和设计这样的应用程序时,你最终会遇到很多困难。
还有其他服务器标记:
另一种方式:您可以使用JSON将一些数据发送到客户端,然后使用javascript进行处理。看看this project。
答案 2 :(得分:0)
Site.Master.cs中的任何公共或受保护的属性或方法都可以从Site.Master访问。
但是如何在aspx中调用c#代码?
有几种方法,包括the <%= %>
construction和databinding syntax。
如果你解释了你想要实现的目标,那会很有帮助。