출력을 표시하는 데 세 번째 페이지를 사용하려는 이유가 실제로 이해가되지 않습니다.
Input.cshtml에서 LoadTable.cshtml으로 데이터를 게시하면 Input.cshtml에 응답하고 ShowTable에 응답을 전송하는 방법을 찾아야합니다. 입력 및 표시 데이터에 대해 단일 페이지를 사용하지 마십시오. 중요하지 않은 부분을 숨기십시오.
LoadTable.cshtml
@using System.Text;
@{
if(IsPost){
var db = Database.Open("MyDb");
var sql = "INSERT INTO Temp (FirstName, LastName) VALUES (@0, @1)";
var FirstName = Request["FirstName"];
var LastName = Request["LastName"];
db.Execute(sql, FirstName, LastName);
var data = db.Query("SELECT * FROM Temp");
StringBuilder html = new StringBuilder();
html.Append("<table>");
html.Append("<tr><th>id</th><th>First Name</th><th>Last Name</th></tr>");
foreach(var row in data){
html.Append("<tr><td>" + row.id + "</td><td>" + row.FirstName +
"</td><td>" + row.LastName + "</td>");
}
html.Append("</table>");
Response.Write(html.ToString());
}
}
: 나는 게시물에만 아이디, 이름 및 성 필드가있는 테이블 온도 데이터 및 테이블의 내용을 표시하는 간단한 응용 프로그램을 시뮬레이션 한 다음 코드에서
Input.cshtml는
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<div id="form">
<form method="post" id="myForm" action="~/LoadTable.cshtml">
FirstName: <input type="text" name="FirstName" /><br />
LastName: <input type="text" name="LastName" /><br />
</form>
<button onclick="GetHtml()">Display</button>
</div>
<div id="display">
<button onclick="GetForm()">Input</button>
</div>
</body>
</html>
<script>
$(function() {
GetForm();
});
function GetHtml() {
$.ajax({
type: "POST",
url: $("#myForm").attr('action'),
data: $("#myForm").serialize(),
dataType: "html",
success: function (data) {
document.getElementById('display').innerHTML = "<button onclick='GetForm()'>Input</button>";
$("#display").prepend(data);
$("#form").hide();
$("#display").show();
}
});
}
function GetForm() {
$("input:text").val("");
$("#display").hide();
$("#form").show();
}
</script>
나는 그것이 도움이되기를 바랍니다.
출처
2014-07-07 23:12:06
GmG
숨겨진 필드를 사용하는 방법이 있습니까? – dotnetN00b
숨겨진 필드는 단일 페이지에 고유하지만 숨겨진 필드에 값을 저장하고 값을 서버에 게시하는 것이 좋습니다. – TGH