ASP.Net 웹 사이트가 있고 페이지 중 하나에 UserControl의 여러 반복을 렌더링하기 위해 Repeater를 사용하는 페이지 중 하나에 UserControl에 두 개의 텍스트 상자가있는 두 번째 UserContol이 있습니다. 내 사용자는 정보를 입력해야합니다. 내 사용자가 버튼을 눌러 두 번째 TextBoxes와 함께 두 번째 UserControl의 다른 인스턴스를 원래 UserControl에 추가하여 사용자가 첫 번째 UserControl 화면에 4 개의 텍스트 상자를 표시 할 수있게하려고합니다. 두 번째 UserControl을 첫 번째 주어진 반복에 추가하려고하면 나타나는 문제는 페이지 다시 게시로 인해 다른 두 번째 사용자 컨트롤이 페이지에서 삭제된다는 것입니다.Asp.Net 페이지에 UserControl 추가
누구나 JQuery를 사용하여이를 수행하는 방법을 알고 있습니까? 서버 측 동적 컨트롤 및/또는 AJAX를 사용하여이 문제를 해결하는 방법을 설명하는 3 개의 게시물이 있지만이 서버 측 메커니즘은 리소스 측면에서 너무 비싸기 때문에 JQuery 솔루션에 집중하기로 결정했습니다.
저는 아래의 Zincorp 제안에 대한 작업을 해왔습니다. 이제 JQuery가 텍스트 상자를 복제하려고했지만 서버 측 Request.Form 컬렉션을 사용하여 컨트롤을 반복하는 데 문제가있었습니다. 누구든지 Request.Form 컬렉션을 반복하는 방법에 대한 조언을 줄 수 있습니까?
좋아요, Request.Form.AllKeys 컬렉션을 사용하여 컨트롤을 반복하는 문제는 ASP TextBox 컨트롤 대신 HTML 텍스트 상자를 사용하고있는 것으로 나타났습니다. 분명히 Request.Forms.AllKeys 컬렉션에는 HTML 컨트롤이 아닌 ASP 컨트롤 만 포함되어 있습니다.
지금보고있는 문제는 JQuery에서 컨트롤을 복제 한 다음 제출 단추가있는 페이지를 제출할 때 2 개의 컨트롤이 동일한 ID를 가지므로 하나의 http로 결합 된 것입니다. ASP TextBox 두 값을 모두 포함하는 컨트롤 (쉼표 구분 기호 (예 : -40,20)). 누구든지 복제 된 ASP TextBox에 할당 된 새 ID를 얻는 방법을 알고 있습니까? 여기
샘플 ASP.Net 웹 위해 appliction에서 업데이트 된 마크 업입니다 : 여기<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label runat="server" ID="ProjectDisplay" Text="Project" />
<asp:TextBox ID="ProjectValue" runat="server" ></asp:TextBox>
<div id="mydiv" ></div>
<br />
<br />
<br />
<input id="AddProject" type="button" value="Add Project" />
<br />
<br />
<asp:Button ID="Submit" runat="server" Text="Submit" onclick="Submit_Click" />
</div>
</form>
</body>
</html>
<script language="jquery" src="js/jquery-1.3.2.js" type="text/javascript"></script>
<script type="text/javascript" >
$(document).ready(function() {
$("#AddProject").click(function() {
var x = $("#ProjectValue").clone();
x.appendTo("#mydiv");
});
});
</script>
내가 얻을 수는 Request.Form 컬렉션의 항목을 통해 반복에 노력하고있어 업데이트 서버 측 코드는 정보 :
public partial class _Default : System.Web.UI.Page
{
protected void Submit_Click(object sender, EventArgs e)
{
foreach (string s in Request.Form.Keys)
{
object x = Request.Form[s];
}
}
}
zincorp, 내가 뭘하려고하는지, 그리고 1 단계에서 제안하는 것처럼 텍스트 상자를 복제하는 데 사용할 수있는 샘플 JQuery 코드 (위)가 있습니다. 요청을 반복 할 때 문제가 있습니다. 그 값을 되찾기위한 양식 콜렉션은 올바른 방향으로 나를 가리킬 수 있습니까? –
죄송합니다, 내가보고있는 문제가 무엇인지 지정하는 것을 잊어 버렸습니다. 위의 코드를 디버그에서 실행하고 iterates 변수 s를 검사하면 __VIEWSTATE, __EVENTVALIDATION 및 Submit 만 표시됩니다. Object x 변수에는 항상 일부 viewstate가 있지만 그 내용을 해독 할 방법이 없습니다. –
입력란에 이름을 지정하십시오 : – zincorp