我把我的JavaScript放在MyApp.js中,這樣我就不必在ASPX頁面中尋找標籤了。但是,當開發目錄和部署目錄不同時,我遇到了我的應用程序根目錄問題,因此我使用全局變量(appRoot)手動更改部署和開發時間之間的路徑。我試過window.location.url,window.location.host等,沒有任何工作。由於我不能在.js中使用<%:Url.Content(「〜/ AppRoot」)%>,所以如何使.js中引用的任何路徑獨立於我的部署目錄所在的位置?感謝您的幫助。在Java中的應用根
var appRoot = "/2_1/"; //deployment path
//var appRoot = "/"; //development path
$(function() {
$("#txtSSNPage1,#txtSSNPage2").blur(function() {
if ($(this).val() != undefined && jQuery.trim($(this).val()).length != 0) {
try {
var form = $(this).parents('form:first');
form.attr('action', appRoot + 'Controller1/SSN/' + escape(jQuery.trim($(this).val())));
form.submit();
}
catch (err) {
alert(err.description);
}
} //if
}); //blur
$("input#txtNamePage3").blur(function() {
if ($(this).val() != undefined && jQuery.trim($(this).val()).length != 0) {
try {
var form = $(this).parents('form:first');
form.attr('action', appRoot + 'Controller2/SSN/' + escape(jQuery.trim($(this).val())));
form.submit();
} catch (err) {
alert(err.description);
}
} //if
}); //blur
$("input#txtNamePage4").blur(function() {
if ($(this).val() != undefined && jQuery.trim($(this).val()).length != 0) {
try {
var form = $(this).parents('form:first');
form.attr('action', appRoot + 'Controller2/FullName/' + escape(jQuery.trim($(this).val())));
form.submit();
} catch (err) {
alert(err.description);
}
} //if
}); //blur
});
是否有可能您還有一個標誌,用於在開發和部署之間進行區分,因此您可以在該區域和其他區域使用具有不同文字的標誌。建議:我不知道asp.net,所以請確保Url.Content(「〜/ AppRoot」)不能被注入或消毒 –
謝謝。我修改了你的建議,並將其放在Site.Master中,並且工作。 \t – user266909
你也可以用這種方式來解決你的[問題](http://stackoverflow.com/q/6419950/443685)。 –