QnA
사용언어
(칠해주세요) => (C#,VB) |
사용툴 (VS) : |
운영체제 (OS) : windows 8.1 |
상세언어(칠해주세요.)
=> 1) ASP.NET, 2) ASP.NET MVC, 3) ASP.NET AJAX |
금새 다시왔습니다. ㅎㅎㅎ
ASP.NET 에는 입력 테그가 TextBox 이외에는 없는 것 같더군요.
제가 아직 TextBox 를 잘 이해못해서 그런지 모르겠지만 TextBox는 text입력 밖에는 않되는 것 같습니다.
물론 html5의 <textarea>테그도 차이가 없습니다.
그래서 그동안 <div>태그의 <div contenteditable="true" >를 <textarea>대신 잘 사용하고 있었습니다.
그러다가 ASP.NET 로 바꾸다보니까 <div contenteditable="true" >에서 걸려서 해결방법을 아직 찾지 못하고 있습니다.
그러니까
ASP.NET에서 TextBox대신 <div contenteditable="true" >로 쓰던지
TextBox에 text 대신 html를 쓸수 있는 옵션이 있다면 TextBox로 쓰던지
둘중 하나만 되면 문제는 해결됩니다.
조금전에 답변해주신데로
<div runat="server" contenteditable="true" >로 해봤는데
서버에서 크라이언트로 보내기는 하는데
크라이언트에서 <div>안에다 타이프한 값은 서버에서 읽지를 못합니다.
질문 내용
1. TextBox로 html값을 처리하던지
2. <div runat="server" contenteditable="true" >에다 크라이언트에서 타이프한 값을 서버가 읽던지
두가지 중에서 하나만 이라도 해결할 수있는지 도움 부탁드립니다.
아래는 전체 소스입니다.
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
해결못하고 있는 것 : html 데이터를 입력받지 못한다.
<div id="divid" runat="server" style="width:200px;border:solid 5px red; height:100px" contenteditable="true" ></div>
해결못하고 있는 것 : 크라이언트에서 타이프한 것을 서버로 보내지 못한다.
==============================================================================
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
입력
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<div id="divid" runat="server" style="width:200px;border:solid 5px red; height:100px" contenteditable="true" ></div>
</div>
<br>
<div>
<asp:Button ID="Button1" runat="server" Text="실행" [안내]태그제한으로등록되지않습니다-xxOnClick="Button1_Click" />
</div>
<br>
결과
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<div id="div2" runat="server" style="width:200px;border:solid 5px red; height:100px" ></div>
</div>
</form>
</body>
</html>
===================================================================================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = TextBox1.Text;
div2.InnerHtml = divid.InnerHtml;
}
}
=============================================================================================
첫댓글 제 질문 요지를 오해하신 부분이 있는 것 같습니다.
제가 올려드린 소스를 그대로 실행시켜보시면 맨위에 두개의 입력창이 보이고 실행이라는 버튼이 나타닙니다.
첫번째 입력창은 ASP.NET의 TextBox입력태그이고 두번째 입력창은 <div>로 만든 입력창입니다.
왜 굳이 <div>로 입력을 받을려고 하느냐?
인터넷 상의 아무 페이지에서든 그림이 있는 부분을 선택해서 컨트롤씨로 크립보드로 복사해서
두개의 입력창에다가 각각 붙여넣기 해보시면 TextBox는 그림이 붙여넣기가 되지 않습니다.
속칭 퍼오기라고 하는 것입니다.
게시판에 다른 사이트에서 퍼온 글을 올릴때 TextBox태그로는
그림이나 사진이 않되기 때문에 해결방법
을 질문드린 것입니다.
TextBox태그 안에다가 글씨가 아닌 그림을 넣는 것이 가능한지요?
으헉... 나의 소스가 필요없어지다니. 크흑.. 심장을 뀌뚫는.....
의도는 잘 모르겟지만 html 편집기 같은기능을 찾으시는거 같은데요.. 그럼 자바스크립트를 어마어마하게 잘해야하지 않을까 싶네요. 웹에서 html 편집기로 검색해보세요.. textarea 에다가 글 쓰는거라든지 붙여 넣기하는데 html태그가 들어가게 하는거 많이 잇습니다.
그게... 저도 놀란 건데. htm5 부터는 간단하게 편집기 기능이 <div>태그 하나로 다 되더라구요. ASP.NET에서 아직 html5를 따라오지 못하는지도 모릅니다. MS에서 이걸 ASP.NET에다 보완해주면 좋을것 같은데 언제될지 모르겠습니다. 그런데 대형 포탈사이트에서 쓰고 있는 것을 보면 벌써 방법은 있을 거 같습니다
Tinyeditor 추천 드려용. http://sandbox.scriptiny.com/tinyeditor/
우선 당장은 제가 <div>를 편집기로 사용할려고 하는 이유는 사용자가 퍼온글을 getElementById로 그냥 편하게 update 시키고 싶은 목적입니다. 기억해 두었다가 나중에 필요하면 사용하겠습니다.
asp:Button버튼은 Page_Load()를 실행시키나요?
무슨말인가 하면 Button1을 누루면 Button1_Click(object sender, EventArgs e)이 실행되어야 하는데 Page_Load()속의 내용도 실행되어서 골치가 아픕니다. 해결방법이 없을까요?
카페지기님이시군요. 잘부탁드립니다.
방금 해결한 것 같습니다. 퓨전마법사님 덕분입니다. 감사합니다. 필요하시면 소스 올려드리겠습니다.
경하드리옵니다. 제가 뭔 한게 있겠습니까. 왼손은 거들뿐 후후후.. 소스는 한가하시면 올려주시는것도 좋을것 같습니다. ^^
ㅎㅎㅎ제가 올려드리지 않아도 callback으로 검색하시면 소스가 수두룩 합니다. 퓨전마법사님께서 알려주신 정보를 기초로 검색해 들어갔더니 나오더군요. 감사합니다.