2010-12-14 8 views
2

httppostの後にテキストボックスから表示される動的パーシャルビューのデータに問題があります。IE7でMVC動的パーシャルビューデータが消える

ユーザーがラジオボタンをクリックすると、対応部分ビューが動的に読み込まれます。

Index.aspx(埋め込まれたJavaScript):

function showCoApplicant() { 
$.ajax({ 
    type: "GET", 
    url: '<%= Url.Action("LoadCoApplicantInfo","Application") %>', 
    data: {}, 
    dataType: "html", 
    async: true, 
    success: function (data) { 
    $("#CoApplicantInfo").html(data); 
    } 
}); } 

ApplicationController.cs:

public ActionResult LoadCoApplicantInfo() { 
Configurator.Models.CreditApplicationModel model = null; 
if (Session["model"] != null) 
    model = (Configurator.Models.CreditApplicationModel)Session["model"]; 

return PartialView("CoApplicant", model); 
} 

CoApplicant.ascx:

<table> 
<tr> 
    <th> 
    <%= Html.LabelFor(model => model.CoApplicant.FirstName)%> 
    </th> 
    <td>  
    <%= Html.TextBoxFor(model => model.CoApplicant.FirstName)%> 
    <%= Html.ValidationMessageFor(model => model.CoApplicant.FirstName)%> 
    </td> 
</tr> 
</table> 

ユーザがデータに入り、クリック送信ボタン。このモデルはコントローラ内で検証されます。 ModelStateが無効な場合は、セッション中にモデルと共にビューを返します(モデルを部分ビューに戻す必要があるため、これを行います。これがデータを戻す唯一の方法でした)。 httppostでは、Javascriptでは、coapplicantの部分ビューが表示されるべきかどうかを判断し、もしそうなら、私はshowCoApplicant()を呼び出すことによって再度ロードします。

[HttpPost] 
public ActionResult Index(Configurator.Models.CreditApplicationModel model) 
{ 
if (!ModelState.IsValid) 
{ 
    Session["model"] = model; 
     return View(); 
} 
} 

ここに私の問題があります。 coapplicantのデータがIE7にありません。 IE、Chrome、Firefoxの他のバージョンでも正常に動作します。なぜIE7にデータがないのですか?どうすればそれを表示することができますか?あなたのAJAX呼び出しで

答えて

1

、falseにキャッシュを設定してみてください:

function showCoApplicant() { 
    $.ajax({ 
    type: "GET", 
    cache: false, 
    url: '<%= Url.Action("LoadCoApplicantInfo","Application") %>', 
    data: {}, 
    dataType: "html", 
    async: true, 
    success: function (data) { 
    $("#CoApplicantInfo").html(data); 
    } 
    }); } 
+1

これはトリックでした!ありがとう!! – Trisney

0

可能性よりも、あなたが生成されているいくつかの間抜けなHTMLを持っています。あなたはajaxを使用しているので、w3cバリデーターに対してそれを実行して調べることはできませんが、生成されたデータをajaxを使わずにビューに投稿して表示できるようにするか、検証できます。

関連する問題