2009-10-08 125 views
0

我有这样一段代码在cs文件在ASP.NET MVC应用程序:ASP.NET MVC IIS问题

HtmlTableCell r2c1 = new HtmlTableCell(); 
r2.Cells.Add(r2c1); 
r2c1.ColSpan = 2; 
r2c1.Style.Add("font", "1px arial"); 
r2c1.Style.Add("height", "10px"); 
r2c1.Style.Add("background-image", "url(/Content/Images/pagebgbottomwhite.jpg)"); 
r2c1.Style.Add("background-repeat", "repeat-x"); 

该工程确定在当地,但是当我部署使用IIS 5我我的应用程序看不到那张照片。

如何更改URL的格式以便我可以看到它?

+0

什么是根虚拟目录? – 2009-10-08 14:16:08

+0

这将是D:\部署\,我在这里得到了/Content/Images/pagebgbottomwhite.jpg – gigi 2009-10-08 14:20:22

+0

你可以直接浏览图像吗? – JonoW 2009-10-08 14:32:52

回答

1

首先,您不希望在您的演示者中拥有这种类型的代码。

至于URL格式,请尝试Server.MapPath("~/Content/Images/pagebgbottomwhite.jpg");。并确保这个文件确实是它应该在的地方。

+0

如果我使用HttpContext.Current.Server.MapPath(“〜/ Content/Images/pagebgbottomwhite.jpg”));它doens;工作,不用iis部署 – gigi 2009-10-08 14:30:54

+0

@吉吉:你什么意思是“不起作用”? – 2009-10-08 14:35:19

0

你真的应该使用CSS并定义一个具有这些属性的类。然后,url将与站点中CSS文件的位置相关:url(../ Images/pagebgbottomwhite.jpg) - 假定您的css文件位于Images的同级目录中。然后你会将CSS类应用到你的元素。

我也同意Anton的说法,使用MVC,这个代码不应该在你的控制器/模型中,而应该在视图中 - 在这种情况下你不会使用HtmlTableCell。在这种情况下,使用纯CSS,只需要在表格中创建正确的行。

<tr><td class="bottom-row" colspan="2"></td></tr> 
0

确认已部署此文件(/Content/Images/pagebgbottomwhite.jpg)。它是否设置为不复制或者在部署中是否被留下。

+0

我可以看到部署文件夹中的文件 – gigi 2009-10-08 14:31:24