2011-03-08 164 views
1

我没有使用URL重写,我的应用程序工作正常,直到我试图通过我已动态生成的链接打到.PDF文件甚至是.TXT文件为止LinkBut​​ton的PostBackUrl。路径是正确的。用于访问路径的HTTP动词POST是不允许的

我已经彻底研究了这里这个问题,大多数问题与使用人POST操作或不或URL重写,这我不是。

在IIS错误的样子:

Server Error in Application "DEFAULT WEB SITE/EVENTS"Internet Information Services 7.5 
Error Summary 
HTTP Error 405.0 - Method Not Allowed 
The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used. Detailed Error Information 
Module StaticFileModule 
Notification ExecuteRequestHandler 
Handler StaticFile 
Error Code 0x80070001 
Requested URL http://localhost:80/Events/EventDocs/48ea946f-e948-e011-ad73-00155d0e670b/2011.pdf 
Physical Path C:\projects\Events\EventDocs\48ea946f-e948-e011-ad73-00155d0e670b\2011.pdf 

代码动态生成的URL点击这里:

public void DocumentsRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
     LinkButton LinkToDoc = (LinkButton)e.Item.FindControl("LinkToDoc");      
     Label FileNameLabel = (Label)e.Item.FindControl("FileNameLabel"); 
     LinkToDoc.PostBackUrl = "~/EventDocs/" + SessionValue.EventId.ToString() + "/" + FileNameLabel.Text; 
     LinkToDoc.Text = FileNameLabel.Text; 
} 
+0

你得到一个错误信息?也许你可以发布一些代码,这将有所帮助... –

回答

2

不要使用一个LinkBut​​ton。使用HyperLink控件。

的超级链接控制具有您可以使用NavigateUrl属性。

+0

解决了我的问题toooo ....我删除了Linkbutton并使用了超链接 – MaxPayne

1

当你使用一个LinkBut​​ton的PostBackUrl财产有正在使用POST动词。从文档报价:

PostBackUrl属性允许您 使用 LinkBut​​ton控件执行跨页后。在 PostBackUrl属性设置为 网页的网址张贴在单击 LinkBut​​ton控件时。对于 示例,指定Page2.aspx会导致 包含LinkBut​​ton 控件的页面发布到Page2.aspx。如果 未指定 PostBackUrl属性的值,则页面将 发布回自己。

因此,我建议你使用一个正常的超链接:

<a href="<%= ResolveUrl("~/files/foo.pdf") %>">foo.pdf</a> 
0

有您要设置一个链接按钮一些其他财产。不是PostBackUrl,因为顾名思义就是它的帖子!

相关问题