2017-11-09 4 views
0

사용자가 게시물을 확장하고 축소 할 수있는 Bootstrap 3 아코디언으로 블로그를 배치했습니다. 각 페이지에는 하단에 이전 및 다음 버튼이있는 5 개의 게시물이 표시됩니다. 이것은 하나의 귀찮은 예외로 아름답게 작동합니다.CKEditor에 대한 블로그에 고유 ID 적용

블로그는 또한 각 게시물 아래에 적절하게 의견을 표시 할 수있게 해주 며, 이러한 의견을 통해 모든 사용자가 자신의 의견을 추가 할 수있게 해주는 CKEditor를 배치했습니다.

아코디언이므로 기술적으로 페이지마다 5 개의 CKEditor가 있으며 각 축소 된 게시물에 하나씩 있습니다. 내가 뒤에있는 코드에서 데이터를 호출 할 때,이 같은 그것을 얻을 : 나는 CKEditor.InnerText를 제외시켰다 그것을 필요로하는

name = Request.Form["commentname"]; 
email = Request.Form["comentemail"]; 
comment = CKEditor.InnerText; 
subscribe = Request.Form["subscribecheckbox"].ToString(); 
currentid = Request.Form["blogid"].ToString(); 

모든 것이 정확하게이 작동합니다. 항상 첫 번째 접힌 아코디언에서 실제로 주석을 포함하는 텍스트를 가져 오려고 시도합니다.

위의 스 니펫은 버튼 클릭 이벤트 내에 있으므로 발신자가 있습니다.

protected void SubmitButton_Click(object sender, EventArgs e) 

해당 CKEditor의 내부 텍스트를 보낸 사람에게 연결하는 방법이 있습니까? 이 해결

<div id="commentfield" style="display: inline"> 

<input type="text" class="form-control" id="blogid" name="blogid" style="display:none;" value="<%= Id %>" /> 
<p><label class="box-title" for="email">Enter your name and email. Email will NOT be shared.</label></p> 
<p><input type="text" class="form-control" id="commentname" name="commentname" required placeholder="Display Name Here" /></p> 
<p><input type="email" class="form-control" id="comentemail" name="comentemail" required placeholder="[email protected]" /> 
    <input type="email" id="commenttest" style="display:none;" name="commenttest" size="25" /> 
    <input type="text" id="commenttesttxt" style="display:none;" name="commenttesttxt" size="25" /> 
</p> 
<input id="subscribecheckbox" name="subscribecheckbox" type="checkbox" />&nbsp;&nbsp;<label class="box-title lightblue" for="subscribecheckbox">Subscribe to Long-View Living</label>&nbsp;&nbsp;&nbsp;&nbsp;<input id="followcommentscheckbox" name="followcommentscheckbox" type="checkbox" />&nbsp;&nbsp;<label class="box-title lightblue" for="followcommentscheckbox">Be Notified of Followup Comments via EMail</label> 
<br /><br /> 
<textarea runat="server" class="ckeditor" cols="20" id="CKEditor" name="CKEditor" rows="10"></textarea> 
<br /> 

답변

0

: 여기

는 아코디언의 댓글 섹션 주 - 내 솔루션은 Summernote에 CKEditor로 전환 관여하지만 나는이 솔루션을 변경해야합니다 생각하지 않는다. 각 에디터에 동일한 문제가있었습니다.

내 aspx에서이 편집기는 for 루프 안에 있습니다. 5 개의 블로그 항목이있는 DataTable을 반복합니다. 나는 "i"에 대해 반복하고 있으므로 각 블로그 게시물의 요소를 고유하게 식별하기 위해 그 값을 사용할 수 있습니다.

int i; 
    for (i = 0; i <= (myBlogDataTable.Rows.Count - 1); i++) 

블로그 게시물 루프이에 있고, 코멘트는 이제 i 값에 묶여 수있는 각 블로그에 연결되어 있습니다.

그런 점을 염두에두고 Summernote 편집기와 제출 버튼을 아래와 같이 보여 주며 i 값에 따라 각 개체를 만들고 식별합니다. 이렇게하면 각 객체에 코드 숨김에서 잡을 수있는 고유 한 핸들이 제공됩니다.

string myButtonID = ((HtmlButton)sender).Attributes["Value"].ToString(); 
switch (myButtonID) 
{ 
    case "0": 
     myCurrentBlogID = myStringUtility.GetField(currentid, ",", 1); 
     comment = CommentsEditor0.InnerText; 
     break; 
    case "1": 
     myCurrentBlogID = myStringUtility.GetField(currentid, ",", 2); 
     comment = CommentsEditor1.InnerText; 
     break; 
    case "2": 
     myCurrentBlogID = myStringUtility.GetField(currentid, ",", 3); 
     comment = CommentsEditor2.InnerText; 
     break; 
    case "3": 
     myCurrentBlogID = myStringUtility.GetField(currentid, ",", 4); 
     comment = CommentsEditor3.InnerText; 
     break; 
    case "4": 
     myCurrentBlogID = myStringUtility.GetField(currentid, ",", 5); 
     comment = CommentsEditor4.InnerText; 
     break; 
} 
:

<% if (i == 0) 
    { %> 
     <br /><br /> 
     <textarea runat="server" id="CommentsEditor0" name="CommentsEditor0" class="summernote" ></textarea> 
     <br /> 
     <button runat="server" id="SubmitButton0" value="0" type="submit" class="btn btn-info" onserverclick="SubmitButton_Click">Submit</button> 
<%} 
    else if (i == 1) 
    {%> 
     <br /><br /> 
     <textarea runat="server" id="CommentsEditor1" name="CommentsEditor1" class="summernote" ></textarea> 
     <br /> 
     <button runat="server" id="SubmitButton1" value="1" type="submit" class="btn btn-info" onserverclick="SubmitButton_Click">Submit</button> 
<%} 
    else if (i == 2) 
    {%> 
     <br /><br /> 
     <textarea runat="server" id="CommentsEditor2" name="CommentsEditor2" class="summernote" ></textarea> 
     <br /> 
     <button runat="server" id="SubmitButton2" value="2" type="submit" class="btn btn-info" onserverclick="SubmitButton_Click">Submit</button> 
<%} 
    else if (i == 3) 
    {%> 
     <br /><br /> 
     <textarea runat="server" id="CommentsEditor3" name="CommentsEditor3" class="summernote" ></textarea> 
     <br /> 
     <button runat="server" id="SubmitButton3" value="3" type="submit" class="btn btn-info" onserverclick="SubmitButton_Click">Submit</button> 
       <%} 
    else if (i == 4) 
    {%> 
     <br /><br /> 
     <textarea runat="server" id="CommentsEditor4" name="CommentsEditor4" class="summernote" ></textarea> 
     <br /> 
     <button runat="server" id="SubmitButton4" value="4" type="submit" class="btn btn-info" onserverclick="SubmitButton_Click">Submit</button> 
<%}%> 

이제 코드 숨김에서, 내가 원하는 값을 잡아와 매우 유사 뭔가를 할 수