マイドロップは変更なく、取得、私は私のgroupIdを取得していますどこダウンビューが表示され、古いデータ
<select id="GroupDropdown" name="GroupDropdown" onchange="Filteration();" class="form-control"></select>
私が書いていた私のコントローラでMY JavascriptのAJAX
function Filteration()
{
var groupid = document.getElementById("GroupDropdown").value;
var subgroupid = document.getElementById("SubGroupDropdown").value;
var locationid = document.getElementById("LocationID").value;
var propertyname = document.getElementById("txtPropertyName").value;
var propertydescription = document.getElementById("Description").value;
$.ajax({
type: 'GET',
contentType: "application/json;charset=utf-8",
url: "/Home/Index",
data: { 'GroupId': groupid, 'SubGroupId': subgroupid, 'LocationId': locationid, 'PropertyName': propertyname, 'Description': propertydescription},
dataType: "json",
context: this,
success: function (data) {
console.log(data);
},
error: function (request) {
}
});
}
こんにちはGroupIdやその他のデータに従って新しいデータを取得するたびにコードを渡します。グループIDに基づいて、ここで上記のコードで
public ActionResult Index(string GroupId, string SubGroupId, string LocationId, string PropertyName, string Description)
{
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("InsUpsDelTbl_Property"))
{
try
{
DataSet GetData = new DataSet();
cmd.Connection = con;
con.Open();
cmd.Parameters.AddWithValue("@Operation", "GetPropertyDataFilteration");
cmd.Parameters.AddWithValue("@GroupID", GroupId);
cmd.Parameters.AddWithValue("@SubGroupID", SubGroupId);
cmd.Parameters.AddWithValue("@LocationID", LocationId);
cmd.Parameters.AddWithValue("@Title", PropertyName);
cmd.Parameters.AddWithValue("@Description", Description);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter ad = new SqlDataAdapter(cmd);
ad.Fill(GetData);
ViewBag.tblProperty = GetData.Tables[1];
con.Close();
}
catch (Exception ex)
{ throw ex; }
}
}
return View();
}
、ViewBag.tblPropertyのデータが変更を取得subgroupidが、ビューに表示データが変更されません。このビューは、最初にページが読み込まれるときにviewbag.tblPropertyから最初に取り出された同じデータを表示しています。
ページ読み込みイベントのマイビューページコード
最初@foreach (System.Data.DataRow dr in ViewBag.tblProperty.Rows)
{
<p><b>Group:</b> @dr["GroupName"].ToString()</p>
<p><b>SubGroup:</b> @dr["SubGroupName"].ToString()</p>
<p><b>Location:</b> @dr["LocationName"].ToString()</p>
<p><b>Age:</b> @dr["Age"].ToString() Years</p>
}
グループID、サブグループIDがその時点で4つのデータをデータベースから検索し、そのデータを取得するために使用される取得するために使用されるように空を渡すために使用されviewbag.tblPropertyでバインドしますが、グループID、サブグループidデータを変更した後は、データベースから2つのデータしか取得されず、viewbag.tblPropertyは再びそのデータにバインドされますが、ビューページでは4つのデータを持つ古いレコードが使用されます。
は、どのように私はあなたのドロップダウンを変更すると、あなたはAJAX呼び出しを行いFilteration
javascriptのメソッドを呼び出しているデータベース
ブラウザでページがキャッシュされましたか? – Jasen
@ジャセンいいえ私はそうではないと思います –
@Jasenこんにちは私はロジックを見直して、データ・コントローラー側が正しく表示されていることを確認しましたが、このデータをajaxを通して渡すとページがリフレッシュされません。そのためビューは適切に束縛されていません。どんな助け? –