다음을 통해 공유


ASP.NET 웹 페이지(Razor) API 빠른 참조

Tom FitzMacken

이 페이지에는 Razor 구문을 사용하여 ASP.NET 웹 페이지 프로그래밍하기 위해 가장 일반적으로 사용되는 개체, 속성 및 메서드의 간단한 예제가 포함된 목록이 포함되어 있습니다.

"(v2)"로 표시된 설명은 ASP.NET 웹 페이지 버전 2에 도입되었습니다.

API 참조 설명서는 MSDN의 ASP.NET 웹 페이지 참조 설명서를 참조하세요.

소프트웨어 버전

  • ASP.NET 웹 페이지(Razor) 3

이 자습서는 ASP.NET 웹 페이지 2 및 ASP.NET 웹 페이지 1.0에서도 작동합니다(v2로 표시된 기능 제외).

이 페이지에는 다음에 대한 참조 정보가 포함되어 있습니다.

클래스

AppState[key], AppState[index],App

애플리케이션의 모든 페이지에서 공유할 수 있는 데이터를 포함합니다. 다음 예제와 같이 동적 App 속성을 사용하여 동일한 데이터에 액세스할 수 있습니다.

AppState["FavoriteColor"] = "red";
AppState[1] = "apples";
App.MyGreeting = "Good morning";
// Displays the value assigned to AppData[1] in the page.
@App[1]
// Displays the value assigned to App.MyGreeting.
@App.MyGreeting

AsBool(), AsBool(true|false)

문자열 값을 부울 값(true/false)으로 변환합니다. 문자열이 true/false를 나타내지 않으면 false 또는 지정된 값을 반환합니다.

bool b = stringValue.AsBool();

AsDateTime(), AsDateTime(value)

문자열 값을 날짜/시간으로 변환합니다. 문자열이 날짜/시간을 나타내지 않으면 또는 지정된 값을 반환 DateTime.MinValue 합니다.

DateTime dt = stringValue.AsDateTime();

AsDecimal(), AsDecimal(value)

문자열 값을 10진수 값으로 변환합니다. 문자열이 10진수 값을 나타내지 않으면 0.0 또는 지정된 값을 반환합니다.

decimal d = stringValue.AsDecimal();

AsFloat(), AsFloat(value)

문자열 값을 float로 변환합니다. 문자열이 10진수 값을 나타내지 않으면 0.0 또는 지정된 값을 반환합니다.

float d = stringValue.AsFloat();

AsInt(), AsInt(value)

문자열 값을 정수로 변환합니다. 문자열이 정수 를 나타내지 않으면 0 또는 지정된 값을 반환합니다.

int i = stringValue.AsInt();

Href(path [, param1 [, param2]])

선택적 추가 경로 파트를 사용하여 로컬 파일 경로에서 브라우저 호환 URL을 만듭니다.

<a href="@Href("~/Folder/File")">Link to My File</a>
<a href="@Href("~/Product", "Tea")">Link to Product</a>

Html.Raw(value)

값을 HTML로 인코딩된 출력으로 렌더링하는 대신 HTML 태그로 렌더링합니다.

@* Inserts markup into the page. *@
@Html.Raw("<div>Hello <em>world</em>!</div>")

IsBool(), IsDateTime(), IsDecimal(), IsFloat(), IsInt()

값을 문자열에서 지정된 형식으로 변환할 수 있으면 true를 반환합니다.

var isint = stringValue.IsInt();

IsEmpty()

개체 또는 변수에 값이 없으면 true를 반환합니다.

if (Request["companyname"].IsEmpty()) {
    @:Company name is required.<br />
}

IsPost

요청이 POST이면 true를 반환합니다. (초기 요청은 일반적으로 GET입니다.)

if (IsPost) { Response.Redirect("Posted"); }

Layout

이 페이지에 적용할 레이아웃 페이지의 경로를 지정합니다.

Layout = "_MyLayout.cshtml";

PageData[key], PageData[index],Page

현재 요청의 페이지, 레이아웃 페이지 및 부분 페이지 간에 공유되는 데이터를 포함합니다. 다음 예제와 같이 동적 Page 속성을 사용하여 동일한 데이터에 액세스할 수 있습니다.

PageData["FavoriteColor"] = "red";
PageData[1] = "apples";
Page.MyGreeting = "Good morning";
// Displays the value assigned to PageData[1] in the page.
@Page[1]
// Displays the value assigned to Page.MyGreeting.
@Page.MyGreeting

RenderBody()

(레이아웃 페이지) 명명된 섹션에 없는 콘텐츠 페이지의 콘텐츠를 렌더링합니다.

@RenderBody()

RenderPage(path, values)

RenderPage(path[,param1 [, param2]])

지정된 경로 및 선택적 추가 데이터를 사용하여 콘텐츠 페이지를 렌더링합니다. 위치(예제 1) 또는 키(예제 2)에서 추가 매개 변수 PageData 의 값을 가져올 수 있습니다.

RenderPage("_MySubPage.cshtml", "red", 123, "apples")
RenderPage("_MySubPage.cshtml", new { color = "red", number = 123, food = "apples" })

RenderSection(sectionName [, required = true|false])

(레이아웃 페이지) 이름이 있는 콘텐츠 섹션을 렌더링합니다. 섹션을 선택 사항으로 설정하려면 필수 를 false로 설정합니다.

@RenderSection("header")

Request.Cookies[key]

HTTP 쿠키의 값을 가져오거나 설정합니다.

var cookieValue = Request.Cookies["myCookie"].Value;

Request.Files[key]

현재 요청에 업로드된 파일을 가져옵니다.

Request.Files["postedFile"].SaveAs(@"MyPostedFile");

Request.Form[key]

양식에 게시된 데이터를 문자열로 가져옵니다. Request[key]Request.FormRequest.QueryString 컬렉션을 모두 확인합니다.

var formValue = Request.Form["myTextBox"];
// This call produces the same result.
var formValue = Request["myTextBox"];

Request.QueryString[key]

URL 쿼리 문자열에 지정된 데이터를 가져옵니다. Request[key]Request.FormRequest.QueryString 컬렉션을 모두 확인합니다.

var queryValue = Request.QueryString["myTextBox"];
// This call produces the same result.
var queryValue = Request["myTextBox"];

Request.Unvalidated(key)

Request.Unvalidated().QueryString|Form|Cookies|Headers[key]

양식 요소, 쿼리 문자열 값, 쿠키 또는 헤더 값에 대한 요청 유효성 검사를 선택적으로 사용하지 않도록 설정합니다. 요청 유효성 검사는 기본적으로 사용하도록 설정되며 사용자가 태그 또는 기타 잠재적으로 위험한 콘텐츠를 게시하지 못하도록 합니다.

// Call the method directly to disable validation on the specified item from
// one of the Request collections.
Request.Unvalidated("userText");

// You can optionally specify which collection the value is from.
var prodID = Request.Unvalidated().QueryString["productID"];
var richtextValue = Request.Unvalidated().Form["richTextBox1"];
var cookie = Request.Unvalidated().Cookies["mostRecentVisit"];

Response.AddHeader(name, value)

응답에 HTTP 서버 헤더를 추가합니다.

// Adds a header that requests client browsers to use basic authentication.
Response.AddHeader("WWW-Authenticate", "BASIC");

Response.OutputCache(seconds [, sliding] [, varyByParams])

지정된 시간 동안 페이지 출력을 캐시합니다. 필요에 따라 슬라이딩 을 설정하여 각 페이지 액세스에 대한 시간 제한을 다시 설정하고 varyByParams 를 설정하여 페이지 요청의 각 쿼리 문자열에 대해 서로 다른 버전의 페이지를 캐시합니다.

Response.OutputCache(60);
Response.OutputCache(3600, true);
Response.OutputCache(10, varyByParams : new[] {"category","sortOrder"});

Response.Redirect(path)

브라우저 요청을 새 위치로 리디렉션합니다.

Response.Redirect("~/Folder/File");

Response.SetStatus(httpStatusCode)

브라우저로 전송된 HTTP 상태 코드를 설정합니다.

Response.SetStatus(HttpStatusCode.Unauthorized);
Response.SetStatus(401);

Response.WriteBinary(data [, mimetype])

선택적 MIME 형식을 사용하여 응답에 데이터 내용을 씁니다.

Response.WriteBinary(image, "image/jpeg");

Response.WriteFile(file)

파일의 내용을 응답에 씁니다.

Response.WriteFile("file.ext");

@section(sectionName) {content }

(레이아웃 페이지) 이름이 있는 콘텐츠 섹션을 정의합니다.

@section header { <div>Header text</div> }

Server.HtmlDecode(htmlText)

HTML 인코딩된 문자열을 디코딩합니다.

var htmlDecoded = Server.HtmlDecode("&lt;html&gt;");

Server.HtmlEncode(text)

HTML 태그에서 렌더링할 문자열을 인코딩합니다.

var htmlEncoded = Server.HtmlEncode("<html>");

Server.MapPath(virtualPath)

지정된 가상 경로에 대한 서버 물리적 경로를 반환합니다.

var dataFile = Server.MapPath("~/App_Data/data.txt");

Server.UrlDecode(urlText)

URL에서 텍스트를 디코딩합니다.

var urlDecoded = Server.UrlDecode("url%20data");

Server.UrlEncode(text)

URL에 넣을 텍스트를 인코딩합니다.

var urlEncoded = Server.UrlEncode("url data");

Session[key]

사용자가 브라우저를 닫을 때까지 존재하는 값을 가져오거나 설정합니다.

Session["FavoriteColor"] = "red";

ToString()

개체 값의 문자열 표현을 표시합니다.

<p>It is now @DateTime.Now.ToString()</p>

UrlData[index]

URL(예: /MyPage/ExtraData)에서 추가 데이터를 가져옵니다.

var pathInfo = UrlData[0];

WebSecurity.ChangePassword(userName,currentPassword,newPassword)

지정한 사용자의 암호를 변경합니다.

var success = WebSecurity.ChangePassword("my-username",
    "current-password", "new-password");

WebSecurity.ConfirmAccount(accountConfirmationToken)

계정 확인 토큰을 사용하여 계정을 확인합니다.

var confirmationToken = Request.QueryString["ConfirmationToken"];
if(WebSecurity.ConfirmAccount(confirmationToken)) {
      //...
}

WebSecurity.CreateAccount(userName, password

[, requireConfirmationToken = true|false])

지정된 사용자 이름 및 암호를 사용하여 새 사용자 계정을 만듭니다. 확인 토큰을 요구하려면 requireConfirmationToken에 true를 전달합니다.

WebSecurity.CreateAccount("my-username", "secretpassword");

WebSecurity.CurrentUserId

현재 로그인한 사용자의 정수 식별자를 가져옵니다.

var userId = WebSecurity.CurrentUserId;

WebSecurity.CurrentUserName

현재 로그인한 사용자의 이름을 가져옵니다.

var welcome = "Hello " + WebSecurity.CurrentUserName;

WebSecurity.GeneratePasswordResetToken(username

[, tokenExpirationInMinutesFromNow])

사용자가 암호를 재설정할 수 있도록 사용자에게 전자 메일로 보낼 수 있는 암호 재설정 토큰을 생성합니다.

var resetToken = WebSecurity.GeneratePasswordResetToken("my-username");
var message = "Visit http://example.com/reset-password/" + resetToken +
    " to reset your password";
WebMail.Send(..., message);

WebSecurity.GetUserId(userName)

사용자 이름에서 사용자 ID를 반환합니다.

var userId = WebSecurity.GetUserId(userName);

WebSecurity.IsAuthenticated

현재 사용자가 로그인한 경우 true를 반환합니다.

if(WebSecurity.IsAuthenticated) {...}

WebSecurity.IsConfirmed(userName)

사용자가 확인된 경우(예: 확인 메일을 통해) true를 반환합니다.

if(WebSecurity.IsConfirmed("joe@contoso.com")) { ... }

WebSecurity.IsCurrentUser(userName)

현재 사용자의 이름이 지정된 사용자 이름과 일치하면 true를 반환합니다.

if(WebSecurity.IsCurrentUser("joe@contoso.com")) { ... }

WebSecurity.Login(userName,password[, persistCookie])

쿠키에서 인증 토큰을 설정하여 사용자를 로그인합니다.

if(WebSecurity.Login("username", "password")) { ... }

WebSecurity.Logout()

인증 토큰 쿠키를 제거하여 사용자를 로그아웃합니다.

WebSecurity.Logout();

WebSecurity.RequireAuthenticatedUser()

사용자가 인증되지 않은 경우 HTTP 상태를 401(권한 없음)로 설정합니다.

WebSecurity.RequireAuthenticatedUser();

WebSecurity.RequireRoles(roles)

현재 사용자가 지정된 역할 중 하나의 멤버가 아닌 경우 HTTP 상태 401(권한 없음)으로 설정합니다.

WebSecurity.RequireRoles("Admin", "Power Users");

WebSecurity.RequireUser(userId)

WebSecurity.RequireUser(userName)

현재 사용자가 사용자 이름으로 지정된 사용자가 아닌 경우 HTTP 상태 401(권한 없음)으로 설정합니다.

WebSecurity.RequireUser("joe@contoso.com");

WebSecurity.ResetPassword(passwordResetToken,newPassword)

암호 재설정 토큰이 유효한 경우 사용자의 암호를 새 암호로 변경합니다.

WebSecurity.ResetPassword( "A0F36BFD9313", "new-password")

데이터

Database.Execute(SQLstatement [,parameters]

INSERT, DELETE 또는 UPDATE와 같은 SQLstatement (선택적 매개 변수 포함)를 실행하고 영향을 받는 레코드 수를 반환합니다.

db.Execute("INSERT INTO Data (Name) VALUES ('Smith')");

db.Execute("INSERT INTO Data (Name) VALUES (@0)", "Smith");

Database.GetLastInsertId()

가장 최근에 삽입한 행에서 ID 열을 반환합니다.

db.Execute("INSERT INTO Data (Name) VALUES ('Smith')");
var id = db.GetLastInsertId();

Database.Open(filename)

Database.Open(connectionStringName)

지정된 데이터베이스 파일 또는 Web.config 파일에서 명명된 연결 문자열을 사용하여 지정된 데이터베이스를 엽니다.

// Note that no filename extension is specified.
var db = Database.Open("SmallBakery"); // Opens SmallBakery.sdf in App_Data
// Opens a database by using a named connection string.
var db = Database.Open("SmallBakeryConnectionString");

Database.OpenConnectionString(connectionString)

연결 문자열을 사용하여 데이터베이스를 엽니다. 연결 문자열 이름을 사용하는 과 Database.Open대조됩니다.

var db = Database.OpenConnectionString("Data Source=|DataDirectory|\SmallBakery.sdf");

Database.Query(SQLstatement[,parameters])

SQLstatement(선택적으로 매개 변수 전달)를 사용하여 데이터베이스를 쿼리하고 결과를 컬렉션으로 반환합니다.

foreach (var result in db.Query("SELECT * FROM PRODUCT")) {<p>@result.Name</p>}

foreach (var result = db.Query("SELECT * FROM PRODUCT WHERE Price > @0", 20))
   { <p>@result.Name</p> }

Database.QuerySingle(SQLstatement [, parameters])

SQLstatement(선택적 매개 변수 포함)를 실행하고 단일 레코드를 반환합니다.

var product = db.QuerySingle("SELECT * FROM Product WHERE Id = 1");

var product = db.QuerySingle("SELECT * FROM Product WHERE Id = @0", 1);

Database.QueryValue(SQLstatement [, parameters])

SQLstatement(선택적 매개 변수 포함)를 실행하고 단일 값을 반환합니다.

var count = db.QueryValue("SELECT COUNT(*) FROM Product");

var count = db.QueryValue("SELECT COUNT(*) FROM Product WHERE Price > @0", 20);

도우미

Analytics.GetGoogleHtml(webPropertyId)

지정된 ID에 대한 Google Analytics JavaScript 코드를 렌더링합니다.

@Analytics.GetGoogleHtml("MyWebPropertyId")

Analytics.GetStatCounterHtml(project,security)

지정된 프로젝트에 대한 StatCounter Analytics JavaScript 코드를 렌더링합니다.

@Analytics.GetStatCounterHtml(89, "security")

Analytics.GetYahooHtml(account)

지정된 계정에 대한 Yahoo Analytics JavaScript 코드를 렌더링합니다.

@Analytics.GetYahooHtml("myaccount")

Bing.SearchBox([boxWidth])

Bing에 검색을 전달합니다. 검색할 사이트와 검색 상자의 제목을 지정하려면 및 Bing.SiteTitle 속성을 설정할 Bing.SiteUrl 수 있습니다. 일반적으로 _AppStart 페이지에서 이러한 속성을 설정합니다.

@Bing.SearchBox() @* Searches the web.*@
@{
   Bing.SiteUrl = "www.asp.net";  @* Limits search to the www.asp.net site. *@
}
@Bing.SearchBox()

Chart(width,height [, template] [, templatePath])

차트를 초기화합니다.

@{
   var myChart = new Chart(width: 600, height: 400);
}

Chart.AddLegend([title] [, name])

차트에 범례를 추가합니다.

@{
var myChart = new Chart(width: 600, height: 400)
    .AddLegend("Basic Chart")
    .AddSeries(
        name: "Employee",
        xValue: new[] {  "Peter", "Andrew", "Julie", "Mary", "Dave" },
        yValues: new[] { "2", "6", "4", "5", "3" })
    .Write();
}

Chart.AddSeries([name] [, chartType] [, chartArea]

[, axisLabel] [, legend] [, markerStep] [, xValue]
[, xField] [, yValues] [, yFields] [, options])

차트에 일련의 값을 추가합니다.

@{
var myChart = new Chart(width: 600, height: 400)
    .AddSeries(
        name: "Employee",
        xValue: new[] {  "Peter", "Andrew", "Julie", "Mary", "Dave" },
        yValues: new[] { "2", "6", "4", "5", "3" })
    .Write();
}

Crypto.Hash(string [, algorithm])

Crypto.Hash(bytes [, algorithm])

지정된 데이터에 대한 해시를 반환합니다. 기본 알고리즘은 입니다 sha256.

@Crypto.Hash("data")

Facebook.LikeButton(href [, buttonLayout] [, showFaces] [, width] [, height]

[, action] [, font] [, colorScheme] [, refLabel])

Facebook 사용자가 페이지에 연결할 수 있습니다.

@Facebook.LikeButton("www.asp.net")

FileUpload.GetHtml([initialNumberOfFiles] [, allowMoreFilesToBeAdded]

[, includeFormTag] [, addText] [, uploadText])

파일을 업로드하기 위한 UI를 렌더링합니다.

@FileUpload.GetHtml(initialNumberOfFiles:1, allowMoreFilesToBeAdded:false,
  includeFormTag:true, uploadText:"Upload")

GamerCard.GetHtml(gamerTag)

지정된 Xbox 게이머 태그를 렌더링합니다.

@GamerCard.GetHtml("joe")

Gravatar.GetHtml(email [, imageSize] [, defaultImage] [, rating]

[, imageExtension] [, attributes])

지정된 전자 메일 주소에 대한 Gravatar 이미지를 렌더링합니다.

@Gravatar.GetHtml("joe@contoso.com")

Json.Encode(object)

JSON(JavaScript Object Notation) 형식의 문자열로 데이터 개체를 변환합니다.

var myJsonString = Json.Encode(dataObject);

Json.Decode(string)

JSON으로 인코딩된 입력 문자열을 반복하거나 데이터베이스에 삽입할 수 있는 데이터 개체로 변환합니다.

var myJsonObj = Json.Decode(jsonString);

LinkShare.GetHtml(pageTitle[, pageLinkBack] [, twitterUserName]

[, additionalTweetText] [, linkSites])

지정된 제목 및 선택적 URL을 사용하여 소셜 네트워킹 링크를 렌더링합니다.

@LinkShare.GetHtml("ASP.NET Web Pages Samples")
@LinkShare.GetHtml("ASP.NET Web Pages Samples", "http://www.asp.net")

ModelStateDictionary.AddError(key, errorMessage)

오류 메시지를 양식 필드에 연결합니다. 도우미를 ModelState 사용하여 이 멤버에 액세스합니다.

ModelState.AddError("email", "Enter an email address");

ModelStateDictionary.AddFormError(errorMessage)

오류 메시지를 양식에 연결합니다. 도우미를 ModelState 사용하여 이 멤버에 액세스합니다.

ModelState.AddFormError("Password and confirmation password do not match.");

ModelStateDictionary.IsValid

유효성 검사 오류가 없으면 true를 반환합니다. 도우미를 ModelState 사용하여 이 멤버에 액세스합니다.

if (ModelState.IsValid) { // Save the form to the database }

ObjectInfo.Print(value [, depth] [, enumerationLength])

개체 및 모든 자식 개체의 속성과 값을 렌더링합니다.

@ObjectInfo.Print(person)

Recaptcha.GetHtml([, publicKey] [, theme] [, language] [, tabIndex])

reCAPTCHA 확인 테스트를 렌더링합니다.

@ReCaptcha.GetHtml()

ReCaptcha.PublicKey

ReCaptcha.PrivateKey

reCAPTCHA 서비스에 대한 퍼블릭 및 프라이빗 키를 설정합니다. 일반적으로 _AppStart 페이지에서 이러한 속성을 설정합니다.

ReCaptcha.PublicKey = "your-public-recaptcha-key";
ReCaptcha.PrivateKey = "your-private-recaptcha-key";

ReCaptcha.Validate([, privateKey])

reCAPTCHA 테스트의 결과를 반환합니다.

if (ReCaptcha.Validate()) {
   // Test passed.
}

ServerInfo.GetHtml()

ASP.NET 웹 페이지 대한 상태 정보를 렌더링합니다.

@ServerInfo.GetHtml()

Twitter.Profile(twitterUserName)

지정된 사용자의 Twitter 스트림을 렌더링합니다.

@Twitter.Profile("billgates")

Twitter.Search(searchQuery)

지정된 검색 텍스트에 대한 Twitter 스트림을 렌더링합니다.

@Twitter.Search("asp.net")

Video.Flash(filename [, width, height])

지정된 파일의 Flash 비디오 플레이어를 선택적 너비와 높이로 렌더링합니다.

@Video.Flash("test.swf", "100", "100")

Video.MediaPlayer(filename [, width, height])

지정된 파일의 너비와 높이를 선택적으로 사용하여 Windows Media 플레이어를 렌더링합니다.

@Video.MediaPlayer("test.wmv", "100", "100")

Video.Silverlight(filename, width, height)

너비와 높이가 필요한 지정된 .xap 파일의 Silverlight 플레이어를 렌더링합니다.

@Video.Silverlight("test.xap", "100", "100")

WebCache.Get(key)

로 지정된 개체를 반환하거나 개체를 찾을 수 없는 경우 null을 반환합니다.

var username = WebCache.Get("username")

WebCache.Remove(key)

캐시에서 로 지정된 개체를 제거합니다.

WebCache.Remove("username")

WebCache.Set(key, value [, minutesToCache] [, slidingExpiration])

로 지정된 이름 아래의 캐시에 값을 넣습니다.

WebCache.Set("username", "joe@contoso.com ")

WebGrid(data)

쿼리의 데이터를 사용하여 새 WebGrid 개체를 만듭니다.

var db = Database.Open("SmallBakery");
var grid = new WebGrid(db.Query("SELECT * FROM Product"));

WebGrid.GetHtml()

태그를 렌더링하여 HTML 테이블에 데이터를 표시합니다.

@grid.GetHtml()// The 'grid' variable is set when WebGrid is created.

WebGrid.Pager()

개체에 대한 WebGrid 호출기를 렌더링합니다.

@grid.Pager() // The 'grid' variable is set when WebGrid is created.

WebImage(path)

지정된 경로에서 이미지를 로드합니다.

var image = new WebImage("test.png");

WebImage.AddImagesWatermark(image)

지정된 이미지를 워터마크로 추가합니다.

WebImage photo = new WebImage("test.png");
WebImage watermarkImage = new WebImage("logo.png");
photo.AddImageWatermark(watermarkImage);

WebImage.AddTextWatermark(text)

지정된 텍스트를 이미지에 추가합니다.

image.AddTextWatermark("Copyright")

WebImage.FlipHorizontal()

WebImage.FlipVertical()

이미지를 가로 또는 세로로 대칭 이동합니다.

image.FlipHorizontal();
image.FlipVertical();

WebImage.GetImageFromRequest()

파일을 업로드하는 동안 이미지가 페이지에 게시될 때 이미지를 로드합니다.

var image = WebImage.GetImageFromRequest();

WebImage.Resize(width,height)

이미지의 크기를 조정합니다.

image.Resize(100, 100);

WebImage.RotateLeft()

WebImage.RotateRight()

이미지를 왼쪽 또는 오른쪽으로 회전합니다.

image.RotateLeft();
image.RotateRight();

WebImage.Save(path [, imageFormat])

이미지를 지정된 경로에 저장합니다.

image.Save("test.png");

WebMail.Password

SMTP 서버의 암호를 설정합니다. 일반적으로 _AppStart 페이지에서 이 속성을 설정합니다.

WebMail.Password = "password";

WebMail.Send(to, subject, body [, from] [, cc] [, filesToAttach] [, isBodyHtml]

[, additionalHeaders])

이메일 메시지를 보냅니다.

WebMail.Send("touser@contoso.com", "subject", "body of message",
    "fromuser@contoso.com");

WebMail.SmtpServer

SMTP 서버 이름을 설정합니다. 일반적으로 _AppStart 페이지에서 이 속성을 설정합니다.

WebMail.SmtpServer = "smtp.mailserver.com";

WebMail.UserName

SMTP 서버의 사용자 이름을 설정합니다. 일반적으로 _AppStart 페이지에서 이 속성을 설정해야 합니다.

WebMail.UserName = "Joe";

유효성 검사

Html.ValidationMessage(field)

(v2) 지정된 필드에 대한 유효성 검사 오류 메시지를 렌더링합니다.

<input type="text"
    name="dateOfBirth"
    value="" />
@Html.ValidationMessage("dateOfBirth")

Html.ValidationSummary([message])

(v2) 모든 유효성 검사 오류 목록을 표시합니다.

@Html.ValidationSummary()

@Html.ValidationSummary("The following validation errors occurred:")

Validation.Add(field, validationType)

(v2) 지정된 유효성 검사 유형에 대한 사용자 입력 요소를 등록합니다.

Validation.Add("dateOfBirth", Validator.DateTime("Date of birth was not valid"));
Validation.Add("quantity", Validator.Integer("Enter a number"));
Validation.Add("confirmPassword",
    Validator.EqualsTo("password", "Passwords must match."));

Validation.ClassFor(field)

(v2) 유효성 검사 오류 메시지의 서식을 지정할 수 있도록 클라이언트 쪽 유효성 검사를 위해 CSS 클래스 특성을 동적으로 렌더링합니다. (적절한 클라이언트 스크립트 라이브러리를 참조하고 CSS 클래스를 정의해야 합니다.)

<head>
  <script
    src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.js">
  </script>
  <script
    src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.js">
  </script>
  <script
    src="~/Scripts/jquery.validate.unobtrusive.js">
  </script>

  <style>
    input-validation-error{ /* style rules  */ }
    field-validation-error{ /* style rules  */ }
    validation-summary-errors{ /* style rules  */ }
    field-validation-valid{ /* style rules  */ }
    input-validation-valid{ /* style rules  */ }
    validation-summary-valid{ /* style rules  */ }
  </style>
</head>

...

<input
    type="text"
    name="firstName"
    @Validation.For("firstName") @Validation.ClassFor("firstName")  />

Validation.For(field)

(v2) 사용자 입력 필드에 대해 클라이언트 쪽 유효성 검사를 사용하도록 설정합니다. (적절한 클라이언트 스크립트 라이브러리를 참조해야 합니다.)

<head>
  <script
    src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.js">
  </script>
  <script
    src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.js">
  </script>
  <script
    src="~/Scripts/jquery.validate.unobtrusive.js">
  </script>
</head>

...

<input
    type="text"
    name="firstName"
    @Validation.For("firstName") />

Validation.IsValid()

(v2) 유효성 검사를 위해 레지스트리된 모든 사용자 입력 요소에 유효한 값이 포함되어 있으면 true를 반환합니다.

if(IsPost){
    if (Validation.IsValid()) {
        // Process input
    }
}

Validation.RequireField(field[, errorMessage])

(v2) 사용자가 사용자 입력 요소에 대한 값을 제공해야 되도록 지정합니다.

Validation.RequireField("dateOfBirth", "Date of birth is required");

Validation.RequireFields(field1[, field12, field3, ...])

(v2) 사용자가 각 사용자 입력 요소에 대한 값을 제공해야 되도록 지정합니다. 이 메서드를 사용하면 사용자 지정 오류 메시지를 지정할 수 없습니다.

Validation.RequireFields("firstName", "lastName", "dateOfBirth");

Validator.DateTime ([error message])

Validator.Decimal([error message])
Validator.EqualsTo(otherField,[error message])
Validator.Float([error message])
Validator.Integer([error message])
Validator.Range(min,max [, error message])
Validator.RegEx(pattern[, error message])
Validator.Required([error message])
Validator.StringLength(length)
Validator.Url([error message])

(v2) 메서드를 사용할 때 유효성 검사 테스트를 지정합니다 Validation.Add .

Validation.Add("dateOfBirth", Validator.DateTime("Date of birth was not valid"));
Validation.Add("quantity", Validator.Integer("Enter a number"));
Validation.Add("confirmPassword", Validator.EqualsTo("password",
    "Passwords must match."));