我不確定如何發佈此問題,而不包括我網站代碼的一半,但這裏有提到。使用jQuery和AJAX在IE中發佈ASP.NET MVC授權
我有一個網站,有一個轉包表格,一個公司表格和一個聯繫表格。從轉包形式,您可以通過打開jQuery對話框併發布公司或聯繫信息的按鈕創建新公司和/或新聯繫人。從公司的表格中,有一個按鈕可以創建一個新的聯繫人。
從分包形式:
$('#popupCreateCompany').dialog(
{
autoOpen: false,
modal: true,
width: 600,
open: function(event, ui) {
if ($('#primary_company').val().length > 0) {
$('#secondary').attr('checked', 'true');
}
else {
$('#primary').attr('checked', 'true');
$('#sec').hide();
}
},
buttons:
{
'Add': function() {
var dialog = $(this);
var form = dialog.find('input:text, select');
$.post('<%= ResolveUrl("~/company/post") %>', $(form).serialize(), function(data) {
if (data.Result == "success") { ...
。
$('#popupCreateContact').dialog(
{
autoOpen: false,
modal: true,
width: 600,
buttons:
{
'Add': function() {
var dialog = $(this);
var form = dialog.find('input:text, select');
$.post('<%= ResolveUrl("~/contact/post") %>', $(form).serialize(), function(data) { ...
從公司形式:
$('#popupCreateContact').dialog(
{
autoOpen: false,
modal: true,
buttons:
{
'Add': function() {
var dialog = $(this);
var form = dialog.find('input:text, select');
$.post('<%= ResolveUrl("~/contact/post") %>', $(form).serialize(), function(data) {
if (data.Result == "success") { ...
此功能工作,直到我們實現了一些自定義授權的網站。現在,您可以從分包合同中添加聯繫人,但不能從分包合同中添加公司。您無法從公司表單添加聯繫人。當你點擊「添加」時,沒有任何反應。我在$.post
行前後添加了一條警報,它之前已經觸發警報,但之後沒有警報。把斷點放在contact/post處,它永遠不會到達那裏。相同的授權組可以訪問添加分包商,公司和聯繫人。
在公司負責人:
[AcceptVerbs(HttpVerbs.Post), MarlowAuthorize(Roles = "Subcontract_Modify, Admin", ViewName = "AuthorizationError")]
public JsonResult Post(company company)
{
if (ModelState.IsValid)
{
try
{
同樣的接觸後的程序被調用從分包形式從公司形式。但一個有效,另一個不行。在聯繫人控制器中:
[AcceptVerbs(HttpVerbs.Post), MarlowAuthorize(Roles = "Subcontract_Modify, Admin", ViewName = "AuthorizationError")]
public JsonResult Post(contact contact)
{
if (ModelState.IsValid)
{
try
{
我試過向控制器中的位置添加授權屬性,我嘗試刪除它們。無論我嘗試哪種組合,我都會得到相同的結果。您可以從分包合同中添加聯繫人,但不能添加公司。而且,您無法添加公司的聯繫人。我一直在想,知道這將導致我看到有什麼區別,但我似乎無法找到它。
編輯 剛走進Firefox中使用Firebug,看來,它的工作在Firefox。但在IE7或IE8中不起作用。
我從來沒有使用過提琴手。在我最初登錄到我的網站後,在「Web會話」下看不到任何新的列表。我可以看到我所有的堆棧溢出活動。 – RememberME 2010-07-08 20:07:06
沒關係,我明白了。這是因爲該網站是https。 – RememberME 2010-07-08 20:34:06