我已經將資料都打進SQL裡
然後用datatable呈現在view上
我現在在row的最前面加上radiobutton
我的value能抓到id(代碼)
我現在想知道怎麼樣把id丟入編輯和刪除的標籤內進入頁面
用id撈出DB內對應的資料進行編輯和修改
(也就是說點選了radiobutton後,按下編輯鍵,進入畫面編輯原本的資料)
下面是我的JS
function SerchallData(selectedCity) {
var selectedCity = $('#CITY option:selected').val();
var selectedValue = $('#AREA option:selected').val();
if ($.trim(selectedValue).length > 0) {
$.ajax({
url: '@Url.Action("GetMmap", "Getarea")',
data: { cityName: selectedCity, areaName: selectedValue },
type: 'POST',
dataType: 'json',
success: function (data) {
$('#MAP>tbody').empty();
for (var i = 0; i < data.length; i++) {
var row = $('<tr><td><input type="radio" name="data" value="' + data[i].代碼 +'"></td><td>' + data[i].代碼 + '</td><td>' + data[i].名稱 + '</td><td>' + data[i].地址 + '</td><td>' + data[i].電話 + '</td><td>'+</td></tr>');
$('#MAP>tbody').append(row);
}
$('#MAP').show();//到此是兩個下拉選單後按查詢可以過濾出資料
$('input[type=radio][name="data"]').on('change', function () { Radiobutton(); })
}, //點選radiobutton後可以抓出ID(也就是代碼)
error: function (jqXHR, textStatus, errorThrown) {
alert('Error: ' + textStatus + ' - ' + errorThrown);
}
});
}
}
function Radiobutton() {
var result = "";
var id = $('input[name=data]:checked').val();
console.log("id:" + id);
$("input[name=data][value='" + id + "']").attr('checked', "checked");
$("input[name=data]:checked").each(function () {
result = $(this).val();
});
}
我的HTML
<div>
<a href="@Url.Action("CreateData","Getarea")">新增</a>
//我想將抓取到的ID放入這個<a>,點擊後可進入編修頁,"Getarea"是controller的名稱
<a href="@Url.Action("Edit", "Getarea",new { @id = //這裡?})">編輯</a>
</div>
<table id="MAP" class="table table-bordered table-hover" style="display:none;">
<thead>
<tr>
<th></th> //這是給radiobutton的
<th>代碼</th>
<th>名稱</th>
<th>地址</th>
<th>電話</th>
</tr>
</thead>
<tbody></tbody>
</table>
我的controller:
public ActionResult Edit(string id)
{
Inserch inserch = new Inserch();
DataTable datatable = new DataTable();
using (SqlConnection con = new SqlConnection(connstr))
{
con.Open();
string q = "SELECT * FROM Pharmacy where 代碼=" + id;
SqlDataAdapter da = new SqlDataAdapter(q, con);
da.Fill(datatable);
}
if (datatable.Rows.Count == 1)
{
inserch.代碼 = datatable.Rows[0][0].ToString();
inserch.名稱 = datatable.Rows[0][1].ToString();
inserch.地址 = datatable.Rows[0][2].ToString();
inserch.電話 = datatable.Rows[0][3].ToString();
return View(inserch);
}
return RedirectToAction("Index");
}
[HttpPost]
public ActionResult Edit(string id, FormCollection collection)
{
var b = new GetCollection();
try
{
return RedirectToAction("Index");
}
catch
{
return View();
}
}
我想編輯跟刪除應該是一樣的功能
所以我的code就只放編輯了
再麻煩各位大大幫忙了
如果用form表單提交是否比較容易一點?
類似下面這樣
<form method="get" action="~/Getarea/Edit">
<div class="container">
<div class="form-group">
<input type="radio" value="1" id="A" name="id" checked />
<label for="A">A</label>
</div>
<div class="form-group">
<input type="radio" value="2" id="B" name="id" />
<label for="B">B</label>
</div>
<div class="form-group">
<input type="radio" value="3" id="C" name="id" />
<label for="C">C</label>
</div>
<div class="form-group">
<input type="radio" value="4" id="D" name="id" />
<label for="D">D</label>
</div>
<div class="form-group">
<input type="submit" value="編輯" class="btn btn-primary" />
</div>
</div>
</form>