C# 如何使用jquery为asp.net中的锚定标记正确提供url?

C# 如何使用jquery为asp.net中的锚定标记正确提供url?,c#,jquery,asp.net,.net,C#,Jquery,Asp.net,.net,我已经在.net应用程序中编写了jquery Function UploadComplete(sender, args) { var filename = args.get_fileName(); var contentType = args.get_contentType(); var folder = "~/Uploads/"; var text = "Size of " + filename + " is " + args.g

我已经在.net应用程序中编写了jquery

Function UploadComplete(sender, args) {
        var filename = args.get_fileName();
        var contentType = args.get_contentType();
        var folder = "~/Uploads/";
        var text = "Size of " + filename + " is " + args.get_length() + " bytes";
        if (contentType.length > 0) {
            text += "and content type is '" + contentType + "'.";
            text += "<a href='" + folder + filename + "'" + filename + "</a>";
        }
        document.getElementById('lblStatus').innerText = text;
    }
函数上传完成(发送方,参数){
var filename=args.get_filename();
var contentType=args.get_contentType();
var folder=“~/Uploads/”;
var text=“文件名+”的大小为“+args.get_length()+”字节”;
如果(contentType.length>0){
文本+=”且内容类型为“'+contentType+”;

text+=“需要解决的几个问题:

1) "~/" “~/”作为相对路径在.Net中用于服务器端。Javascript(实际上是您的浏览器)不知道如何处理该URL

作为一个小技巧,您可以使用以下Razor代码注入应用程序根URL
@(URL.Content(“~/”)
,但这意味着您的函数需要位于Razor页面中,而不是单独的JS文件中

如果您的JS位于“别处”,请使用页面上的小脚本部分将路径作为Javascript变量(例如,
window.rootUrl=“@(Url.Content(~/”))
)注入

2) 缺少“>” 您在生成的锚点中缺少一个结束

3) innerHTML,而不是innerText 您需要设置innerHTML属性,否则将获得原始文本。您可能需要调整输出的格式(换行符或跨距/段落)以使其看起来美观(例如,此时锚点前没有空间)

把它们放在一起,你会得到如下结果:
对于任何输入错误,我深表歉意,我是从头开始输入的,没有进行验证。

”;
。您忘记添加
。在创建主播时缺少结尾>,您需要在文件夹和文件名之间包含
/
。@ppittle:No,
文件夹=“~/Uploads/”
(已经有尾随的
/
)使用
document.createElement(“A”)
document.createTextNode
生成所需的标记怎么样?
 text += "<a href='" + folder + filename + "'" + filename + "</a>";
function UploadComplete(sender, args) {
    var filename = args.get_fileName();
    var contentType = args.get_contentType();
    var folder = '@(Url.Content("~/"))Uploads/';
    var text = 'Size of ' + filename + ' is ' + args.get_length() + ' bytes';
    if (contentType.length > 0) {
        text += 'and content type is "' + contentType + '". ';
        text += '<a href="' + folder + filename + '">' + filename + '</a>';
    }
    document.getElementById('lblStatus').innerHTML = text;
}
    $('#lblStatus').html(text);