2つの文字列パラメータと2つの日付値を受け取るビューがあります。ユーザーが検索ボタンを押すと、フィルタリングされた出力が画面に表示されます。これは、ユーザーがスペースを含む文字列を入力するまで完全にうまく動作します。つまり、「廃棄物」を検索することはできますが、「廃油」は検索できません。コントローラのJQUERY呼び出しアクション:文字列 'スペース'文字を含む場合に切り捨てられるパラメータ
興味深いことに、後者の場合、呼び出しが行われる前にパラメータがJavascriptからokです。しかし、コントローラのコードに入ると、クライアント上の「廃油」という形で「無駄」になります。これが起こると、他のパラメータがNULLに設定され、システムがクラッシュします。
私は空白文字を '#'文字で置き換えようとしましたが、その後、コントローラー側の「 '」文字を取り除いて戻しました。これは面倒なファッジであり、1つのパラメータでしか動作しないように見えます。
このパラメータのデータ損失のために簡単に説明、多くの
ない
に感謝のコメントが存在しなければならないのコード例が必要とされているが、ここでそれが役立つならば、それはとにかくであることを確認してください:私のコントローラヘッダー:
をpublic ActionResult IndexSearch(int? page, string searchText,string searchTextSite,string StartDate,string EndDate)
{
マイHTML Javascriptを:
function Search(sSearchText,sSite) {
sSearchText = sSearchText.toString().replace(" ", "#");
sSite = sSite.toString().replace(" ", "#");
debugger;
alert($("#AbsolutePath").val() + "Waste.mvc/IndexSearch?searchText=" + sSearchText + "&searchTextSite=" + sSite + "&StartDate=" + $('#StartDate').val() + "&EndDate=" + $('#EndDate').val());
$("#ResultsList").load($("#AbsolutePath").val() + "Waste.mvc/IndexSearch?searchText=" + sSearchText + "&searchTextSite=" + sSite + "&StartDate=" + $('#StartDate').val() + "&EndDate=" + $('#EndDate').val(),
function() {
$('#LoadingGif').empty();
});
$('#LoadingGif').empty().html('<img src="' + $("#AbsolutePath").val() + 'Content/images/ajax-loader.gif" alt="Loading image" />');
}
ファンタスティック、それは上のスポットでした:-) – John
これも私を助けました - ありがとう! – Jen