[ ASP.NET ] ASP.NET AJAX / ASP.NET AJAX 사용법 / .NET AJAX



ASP.NET 으로 작업을 하다가 보면 AJAX를 사용해야될 일이 아주 많다.

보통은 jQuery Ajax를 많이 사용하지만, 같은 서버에서 작업되어 있는 부분이라면 아래처럼 사용가능하다.

.NET 에서 제공하는 Ajax를 사용하려면 아래의 두 스크립트를 추가 해줘야 한다.







-> 스크립트 추가


1
2
<script src="<%= Url.Content("~/Scripts/MicrosoftAjax.debug.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/MicrosoftMvcAjax.debug.js") %>" type="text/javascript"></script>
cs



-> 사용


1
2
3
4
5
6
7
8
<%= Ajax.ActionLink("Update Status""GetStatus"new AjaxOptions{UpdateTargetId="status" }) %>
 
<using (Ajax.BeginForm("UpdateForm"new AjaxOptions { UpdateTargetId = "textEntered" }))
   { %>
    <%= Html.TextBox("textBox1","Enter text")%>
    <input type="submit" value="Submit" /><br />
    <span id="textEntered">Nothing Entered</span>
<% } %>
cs




-> aspx 전체 페이지 소스


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    AjaxTest
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<script src="<%= Url.Content("~/Scripts/MicrosoftAjax.debug.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/MicrosoftMvcAjax.debug.js") %>" type="text/javascript"></script>
    <h2>
        <%= Html.Encode(ViewData["Message"]) %></h2>
    <p>
        Page Rendered:
        <%= DateTime.Now.ToLongTimeString() %>
    </p>
    <span id="status">No Status</span>
    <br />
    <%= Ajax.ActionLink("Update Status""GetStatus"new AjaxOptions{UpdateTargetId="status" }) %>
    <br />
    <br />
    <using (Ajax.BeginForm("UpdateForm"new AjaxOptions { UpdateTargetId = "textEntered" }))
       { %>
    <%= Html.TextBox("textBox1","Enter text")%>
    <input type="submit" value="Submit" /><br />
    <span id="textEntered">Nothing Entered</span>
    <% } %>
</asp:Content>
cs





-> cs 페이지


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//페이지 호출
public ActionResult AjaxTest()
{
    return View();
}
 
//현재 시간을 리턴
public string GetStatus()
{
    return "Status OK at " + DateTime.Now.ToLongTimeString();
}
 
//현재시간을 textbox에 입력
public string UpdateForm(string textBox1)
{
    if (textBox1 != "Enter text")
    {
        return "You entered: \"" + textBox1.ToString() + "\" at " +
            DateTime.Now.ToLongTimeString();
    }
 
    return String.Empty;
}
cs






-> 결과


아래 결과를 보면 페이지가 랜더링 된 시간과 서브밋한 시간 차이를 통해서.. 전체페이지가 새로고침 되지 않고 AJAX가 제대로 작동 되었다는 것을 알 수 있다.







[ ASP.NET ] HTML 파일 읽기 / ASP.NET HTML / ASP.NET HTML 파일 내용 읽는 법 / .NET HTML / HTML 파일 읽기 / SreamReader / GetResponseStream




asp.net 으로 작업을 하다 보면 url을 통해서 html 내용을 읽어 와야 하는 경우가 종종있다.

보통의 경우 jQuery Ajax 를 사용해서 클라이언트 스크립트로 해결을 하지만, 서버스크립트로 처리해야 되는 경우에

유용하게 사용할 수 있다.

아래 함수는 url을 통해 html을 불러와서 string 형태로 리턴하준다.
동적으로 html 페이지를 로드하여 다른 페이지에 붙여넣을때 유용하게 사용가능하다.





1
2
3
4
5
6
7
8
9
10
11
12
13
public String getHtmlContent(string url)
{
    Uri uri = new Uri(url);
    System.Net.WebRequest request = System.Net.WebRequest.Create(uri);
    request.Method = System.Net.WebRequestMethods.Http.Get;
    System.Net.WebResponse response = request.GetResponse(); 
    StreamReader reader = new StreamReader(response.GetResponseStream());
    Stream oStream = response.GetResponseStream(); 
    StreamReader oStreamReader = new StreamReader(oStream, System.Text.Encoding.UTF8);
    String htmlString = oStreamReader.ReadToEnd(); 
    return htmlString;
}
cs









[ ASP.NET ] XML 출력 / XML 형태로 출력하는 방법 / XML생성 / RESPONSE.CONTENTTYPE


URL로 요청을 받아서 xml 형태로 뿌려줘야 할 때가 종종 있는데, 

간단하게 아래와 같이 세팅해주면 웹 브라우져에서 xml형태로 출력되는 것을 알 수 있다.







-> cs


1
2
3
4
5
6
7
8
9
10
11
12
13
//xmlDoc선언.
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.AppendChild(xmlDoc.CreateXmlDeclaration("1.0""utf-8""yes"));
 
//xmlDoc에 출력할 내용을 더함.
XmlElement goods = xmlDoc.CreateElement("GOOD_ARRAY");
goods.InnerText = "test"
xmlDoc.DocumentElement.AppendChild(goods);
 
//xml 형태로 화면에 출력.
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "text/xml";
xmlDoc.Save(Response.Output);
cs




-> aspx


1
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" ContentType="text/xml" %>
cs




[ ASP.NET ] C# 숫자인지 확인 / 스트링 숫자체크 / 문자열 숫자확인



해당 문자열이 숫자인지 체크를 하고 다음 작업을 해야 하는 경우가 있다.

이번에는 db에 date값을 비교하기 위해서 숫자인지 확인후에 쿼리로 넘겨주려고 아래 소스를 사용하게 되었다.

더블형인 경우에는 double.TrayParse  를 이용하면 될 듯하다.








1
2
3
4
5
6
7
8
9
10
11
12
 
string result = "101";
int numChk = 0;
bool isNum = int.TryParse(result , out numChk);
if (!isNum)
{
     //숫자가 아님
}else{
     //숫자
     //숫자일 경우 numChk 의 값은 101 이 된다.
}
 
cs


+ Recent posts