こんにちは私はローカルホストの後にポップアップウィンドウを使用してデータがdbに保存されていないという1つの問題があります。私は私の問題をはっきりと説明します。私は顧客と呼ばれる1つのビューを持っています。その中に私はAreaと呼ばれる1つのフィールドがあり、またそのフィールドの近くに1つの追加ボタンを保持します。ローカルホストmvc4にアプリケーションを公開した後、ポップアップウィンドウを使用してデータがdbに保存されませんか?
エリア
私はそれがポップアップウィンドウを開きます+]ボタンをクリックしてください。ポップウィンドウは、私がアプリケーションをビルドして実行し、このビューを開き、+ボタンをクリックすると、すべての詳細を入力して保存ボタンをクリックすると
エリアポップwinodw
下に言及しています値をdbに保存します。すべて正常に動作しています。しかし、私のアプリケーションを公開し、このビューを開いて+ボタンをクリックすると、ポップアップウィンドウが開きます。これまで、それはうまく動作します。しかし、すべての詳細を入力し、保存ボタンをクリックすると、Dbにデータが保存されません。これが問題です。私のアプリケーションを公開した後、データはポップアップウィンドウを使ってDbに保存されません。しかし、ノーマルでは完全に動作しています。 $( '#のエリアID')件までポップアップウィンドウ
にその作業を公開した後
追加。($( '')のval(データ)は.text(エリア)。);
ただし、保存はdbに保存されません。しかし、通常のアプリケーションでは、正常に動作しています。これは、通常のアプリケーションの実行中にポップアップを使用してデータを完全に処理していることを示しています。しかし、私はローカルホストで私のアプリケーションをホストした後、spopupウィンドウが正しく動作していません。
私のコードの表示
<div id="Area">
<div class="col-sm-3">
<span style="color: #f00">*</span>
@Html.LabelFor(model => model.Area, new { @class = "control-label" })<a href="#" class="btn btn-primary" id="modal-opener" style="float: right; Width: 28px; height: 28px; ">+</a>
<div id="dialog-modal" title="Add New Area" style="display:none">
<div class="box-body">
<span class="red">*</span>
@Html.Label("Area", new { @class = "control-label" })
@Html.TextBoxFor(model => model.Area, new { @class = "form-control", type = "text", id = "AreaName" })
@Html.ValidationMessageFor(model => model.Area)
@Html.Label("City")
@Html.DropDownListFor(model => model.CityID, new SelectList(string.Empty, "Value", "Text"), "Please select a City", new { @class = "form-control required", type = "text", id = "City" })
<div class="box-footer">
<input id="Button1" class="btn btn-primary" type="button" value="Save" onclick="SaveArea()" />
</div>
</div>
</div>
@Html.DropDownList("AreaID", null, "Select", new { @class = "form-control required" })
</div>
</div>
マイJクエリコード
<script type="text/javascript">
$(function() {
debugger
$("#dialog-modal").dialog({
resizable: false,
width: 500,
maxHeight: 400,
draggable: true,
dialogClass: 'main-dialog-class',
autoOpen: false,
show: {
effect: "blind",
duration: 1000
},
hide: {
effect: "explode",
duration: 1000
},
open: function() {
var closeBtn = $('.ui-dialog-titlebar-close');
closeBtn.append('<span class="ui-button-icon-primary ui-icon ui-icon-closethick"></span>');
},
close: function() {
var closeBtn = $('.ui-dialog-titlebar-close');
closeBtn.html('');
},
});
$("#modal-opener").click(function() {
debugger
$("#dialog-modal").dialog("open");
});
});
function onSuccess() {
$("#dialog-modal").dialog("close");
}
function SaveArea() {
debugger
var url = '@Url.Action("Customer", "AddAreaInfo", new { area = "Sales" })';
var customerContact = $('#modalform').serialize(); // must have a <form id="modalform"> in the popup
var Area = $("#AreaName").val();
var CityID = $("#City").val();
var AreaAdd = { "Area": '' + Area + '', "CityID": CityID };
$.post("/Sales/Customer/AddAreaInfo", AreaAdd, function (data) {
$('#AreaID').append($('<option><option>').val(data).text(Area));
$('#AreaID').val(data);
alert ("Success")
});
}
$(function() {
$.ajax(
'@Url.Action("GetCity", "Customer", new { Area = "Sales" })',{
type: "GET",
datatype: "Json",
success: function (data) {
$.each(data, function (index, value) {
$('#City').append('<option value="' + value.CityID + '">' +value.DisplayName + '</option>');
});
}
});
});
コントローラ
public JsonResult AddAreaInfo(CustomerViewModel objareaVM)
{
var objAreaID = Guid.NewGuid();
ViewBag.CityID = new SelectList(db.Cities, "CityID", "DisplayName", objareaVM.CityID);
var ObjArea = new Area()
{
AreaID = objAreaID,
DisplayName = objareaVM.Area,
PrintName = objareaVM.Area,
CityID = objareaVM.CityID,
IsActive = true,
IsDeleted = false,
CreatedDate = DateTime.Now,
EditedDate = DateTime.Now,
LastActiveOn = DateTime.Now,
RowID = Guid.NewGuid(),
CreatedSessionID = Guid.NewGuid(),
EditedSessionID = Guid.NewGuid(),
OfflineMode = false,
OfflineID = Guid.NewGuid()
};
db.Areas.Add(ObjArea);
db.SaveChanges();
ModelState.Clear();
return Json(objAreaID);
}
public JsonResult GetCity()
{
return Json(db.Cities.ToList(), JsonRequestBehavior.AllowGet);
}