我在asp.net mvc4中有一个简单的注册表单 在我的应用程序中,我已经将两个按钮用于数据保存,一个用于将已保存的数据显示到div中,并且为了显示目的,我已经编写了对函数后面的代码的ajax调用。
问题结果将显示在页面上,当我点击show table按钮时突然消失。我尝试使用断点,我发现每次控件重定向到ActionResult
并返回功能。
我不知道为什么会这样,请帮我解决这个问题
查看
<button type="submit" id="btnSave" name="Command" value="Register">Register</button>
<input type="submit" value="Clear" name="Command"/>
<input type="submit" id="Tabledata" />
<div id="div1"></div>
<script type="text/javascript">
var obj = document.getElementById("div1");
$("#Tabledata").click(function () {
$.ajax({
url: 'sample/data',
dataType:"text",
type: "GET",
contentType: "text/plain",
async: true,
processData: false,
cache: false,
success: function (data) {
$("#div1").html(data);
},
error: function (xhr) {
alert('error');
}
});
});
控制器
public ActionResult submit(sample sam,string Command,dbconnection db)
{
SqlConnection con = new SqlConnection(db.GetconString());
if (Command == "Register")
{
SqlCommand sqlCmd = new SqlCommand("sp_Sp_Register", con);
con.Open();
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.Parameters.Add(new SqlParameter("@FirstName", @sam.FirstName));
sqlCmd.Parameters.Add(new SqlParameter("@LastName", @sam.LastName));
sqlCmd.Parameters.Add(new SqlParameter("@Address", @sam.Address));
sqlCmd.Parameters.Add(new SqlParameter("@PhoneNumber", @sam.PhoneNumber));
sqlCmd.Parameters.Add(new SqlParameter("@Location", @sam.Location));
sqlCmd.ExecuteNonQuery();
con.Close();
}
else if (Command == "Clear")
{
}
else if (Command == "ShowTable")
{
sam.tabledata = "<table>";
DataTable dt;
dt = db.BuildDT("select * from MVCsample");
foreach (DataRow row in dt.Rows)
{
sam.tabledata += "<tr border='1'><td>" + Convert.ToString(row["First Name"]) + "</td>";
sam.tabledata += "<td>" + Convert.ToString(row["Last Name"]) + "</td>";
sam.tabledata += "<td>" + Convert.ToString(row["Address"]) + "</td>";
sam.tabledata += "<td>" + Convert.ToString(row["PhoneNumber"]) + "</td>";
sam.tabledata += "<td>" + Convert.ToString(row["Location"]) + "</td></tr>";
}
sam.tabledata += "</table>";
ViewBag.tabledata = sam.tabledata;
}
return View();
}
public string data(sample s,dbconnection db)
{
SqlConnection con = new SqlConnection(db.GetconString());
s.tabledata = "<table>";
DataTable dt;
dt = db.BuildDT("select * from MVCsample");
foreach (DataRow row in dt.Rows)
{
s.tabledata += "<tr border='1'><td>" + Convert.ToString(row["First Name"]) + "</td>";
s.tabledata += "<td>" + Convert.ToString(row["Last Name"]) + "</td>";
s.tabledata += "<td>" + Convert.ToString(row["Address"]) + "</td>";
s.tabledata += "<td>" + Convert.ToString(row["PhoneNumber"]) + "</td>";
s.tabledata += "<td>" + Convert.ToString(row["Location"]) + "</td></tr>";
}
s.tabledata += "</table>";
//ViewBag.tabledata = s.tabledata;
return s.tabledata;
}
答案 0 :(得分:1)
您应该使用按钮类型而不是提交类型。
替换
<input type="submit" id="Tabledata" />
带
<input type="button" id="Tabledata" />
将完美运作
希望这有帮助。