所以我真的很想把你的代碼改寫成更習慣的javascript。在這個過程中,我發現formBypassQueryString變量永遠不會被分配,這可能會導致問題。這裏是我的版本
function showPatientInfo(pid) {
redirectToPage("Create_Order.aspx", "pid=" + pid);
return false;
}
function redirectToPage(pageName, queryString) {
if (pageName === "" || queryString === "") return;
var keyValues = queryString.split("&"),
form = createQueryStringForm(pageName);
for (var i = 0; i < keyValues.length; i++) {
var keyValue = keyValues[i].split("="),
field = createQueryStringField(keyValue[0], keyValue[1]);
form.appendChild(field);
}
form.submit();
}
function createQueryStringField(name, value){
var field = document.createElement('input');
field.setAttribute('type', 'hidden')
field.setAttribute('name', name)
field.setAttribute('value', value)
return field;
}
function createQueryStringForm(pageName){
var form = document.createElement('form');
form.setAttribute('id', 'form-bypass-query-string');
form.setAttribute('method', 'POST');
form.setAttribute('action', pageName);
return form;
}
MATT嗨,我已經申請我們的代碼,但得到同樣的錯誤「return語句的功能之外」 – harsh 2012-04-26 07:11:56
@harsh:其他然後,變量沒有被定義(這將導致一個錯誤,但是不知道你得到了),你的代碼沒有什麼技術上的錯誤。 – 2012-04-26 07:17:11
:當我從代碼後面移除return語句後面的.ClientScript.RegisterStartupScript(GetType(),「id」,「return showPatientInfo('」+ txtPatientID .Text +「');」,true); ....代碼執行正常,但得到錯誤「對象不支持此屬性或方法」..當我添加返回語句,然後給我錯誤「返回語句之外的函數」..我認爲應該我的語法是正確的我從代碼隱藏 – harsh 2012-04-26 07:23:44