c# save as pdf : Create bookmarks pdf files software SDK cloud windows wpf web page class ASPNETWebPagesWithRazorSyntax-Book2-part615

ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
17 
5. You enclose literal string values in double quotation marks 
A string is a sequence of characters that are treated as text. To specify a string, you enclose it in double 
quotation marks: 
@{ var myString = "This is a string literal"; } 
If the string that you want to display contains a backslash character (\) or double quotation marks, use a 
verbatim string literal that's prefixed with the 
@
operator. (In C#, the \ character has special meaning 
unless you use a verbatim string literal.)  
<!-- Embedding a backslash in a string --> 
@{ var myFilePath = @"C:\MyFolder\"; } 
<p>The path is: @myFilePath</p> 
To embed double quotation marks, use a verbatim string literal and repeat the quotation marks: 
<!-- Embedding double quotation marks in a string --> 
@{ var myQuote = @"The person said: ""Hello, today is Monday."""; } 
<p>@myQuote</p> 
The result displayed in a browser: 
Note   The 
@
character is used both to mark verbatim string literals in C# and to mark code in 
ASP.NET pages.  
Create bookmarks pdf files - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
create bookmarks pdf files; how to create bookmark in pdf with
Create bookmarks pdf files - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
adding bookmarks to a pdf; bookmark pdf in preview
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
18 
6. Code is case sensitive 
In C#, keywords (like 
var
true
, and 
if
) and variable names are case sensitive. The following lines of code 
create two different variables, 
lastName
and 
LastName.
@{ 
var lastName = "Smith"; 
var LastName = "Jones"; 
If you declare a variable as 
var lastName = "Smith";
and if you try to reference that variable in your 
page as 
@LastName
, an error results because 
LastName
won't be recognized. 
Note   In Visual Basic, keywords and variables are not case sensitive.  
7. Much of your coding involves objects 
An object represents a thing that you can program with — a page, a text box, a file, an image, a web 
request, an email message, a customer record (database row), etc. Objects have properties that 
describe their characteristics — a text box object has a 
Text
property (among others), a request object 
has a 
Url
property, an email message has a 
From
property, and a customer object has a 
FirstName
property. Objects also have methods that are the "verbs" they can perform. Examples include a file 
object's 
Save
method, an image object's 
Rotate
method, and an email object's 
Send
method. 
You'll often work with the 
Request
object, which gives you information like the values of form fields on 
the page (text boxes, etc.), what type of browser made the request, the URL of the page, the user 
identity, etc. This example shows how to access properties of the 
Request
object and how to call the 
MapPath
method of the 
Request
object, which gives you the absolute path of the page on the server: 
<table border="1"> 
<tr> 
<td>Requested URL</td> 
<td>Relative Path</td> 
<td>Full Path</td> 
<td>HTTP Request Type</td> 
</tr> 
<tr> 
<td>@Request.Url</td> 
<td>@Request.FilePath</td> 
<td>@Request.MapPath(Request.FilePath)</td> 
<td>@Request.RequestType</td> 
</tr> 
</table> 
The result displayed in a browser: 
C# PDF File Split Library: Split, seperate PDF into multiple files
C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines. This is an C# example of splitting a PDF to two new PDF files.
pdf reader with bookmarks; how to bookmark a pdf file
VB.NET PDF File Split Library: Split, seperate PDF into multiple
PDF file into multiple ones by PDF bookmarks or outlines index: 1 to (Page Count - 1). ' Create output PDF i.ToString() + ".pdf") Next ' Split input PDF file to
bookmarks in pdf files; bookmark pdf reader
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
19 
8. You can write code that makes decisions 
A key feature of dynamic web pages is that you can determine what to do based on conditions. The 
most common way to do this is with the
if
statement (and optional 
else
statement). 
@{ 
var result = ""; 
if(IsPost) 
result = "This page was posted using the Submit button."; 
else 
result = "This was the first request for this page."; 
<!DOCTYPE html> 
<html> 
<head> 
<title></title> 
</head> 
<body> 
<form method="POST" action="" > 
<input type="Submit" name="Submit" value="Submit"/> 
<p>@result</p> 
</form> 
</body> 
</html> 
</body> 
</html> 
The statement 
if(IsPost)
is a shorthand way of writing 
if(IsPost == true)
. Along with 
if
statements, 
there are a variety of ways to test conditions, repeat blocks of code, and so on, which are described later 
in this chapter.  
The result displayed in a browser (after clicking Submit): 
C# PDF File Compress Library: Compress reduce PDF size in C#.net
and decompression method and Image files compression and Bookmarks. outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; // create optimizing options
add bookmark pdf file; bookmarks pdf file
C# Create PDF Library SDK to convert PDF from other file formats
Create multipage PDF from OpenOffice and CSV file. Create and save editable PDF with a blank page, bookmarks, links, signatures, etc.
adding bookmarks to pdf reader; bookmarks pdf files
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
20 
HTTP GET and POST Methods and the IsPost Property 
The protocol used for web pages (HTTP) supports a very limited number of methods (verbs) that are 
used to make requests to the server. The two most common ones are GET, which is used to read a page, 
and POST, which is used to submit a page. In general, the first time a user requests a page, the page is 
requested using GET. If the user fills in a form and then clicks Submit, the browser makes a POST request 
to the server. 
In web programming, it's often useful to know whether a page is being requested as a GET or as a POST 
so that you know how to process the page. In ASP.NET Web Pages, you can use the 
IsPost
property to 
see whether a request is a GET or a POST. If the request is a POST, the 
IsPost
property will return true, 
and you can do things like read the values of text boxes on a form. Many examples in this book show 
you how to process the page differently depending on the value of 
IsPost
A Simple Code Example 
This procedure shows you how to create a page that illustrates basic programming techniques. In the 
example, you create a page that lets users enter two numbers, then it adds them and displays the result. 
1.
In your editor, create a new file and name it AddNumbers.cshtml. 
2.
Copy the following code and markup into the page, replacing anything already in the page. 
@{ 
var total = 0; 
var totalMessage = ""; 
if(IsPost) { 
// Retrieve the numbers that the user entered. 
var num1 = Request["text1"]; 
var num2 = Request["text2"]; 
// Convert the entered strings into integers numbers and add. 
total = num1.AsInt() + num2.AsInt(); 
totalMessage = "Total = " + total; 
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
converter toolkit SDK, preserves all the original anchors, links, bookmarks and font How to Use C#.NET Demo Code to Convert PDF Document to HTML5 Files in C#
creating bookmarks pdf files; add bookmarks to pdf preview
.NET PDF SDK - Description of All PDF Processing Control Feastures
View,Convert,Edit,Process,Protect,SignPDF Files. Full page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail display; Conversion. PDF Create.
bookmark pdf acrobat; adding bookmarks to pdf
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
21 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
<title>Add Numbers</title> 
<meta charset="utf-8" /> 
<style type="text/css"> 
body {background-color: beige; font-family: Verdana, Arial; 
margin: 50px; } 
form {padding: 10px; border-style: solid; width: 250px;} 
</style> 
</head> 
<body> 
<p>Enter two whole numbers and then click <strong>Add</strong>.</p> 
<form action="" method="post"> 
<p><label for="text1">First Number:</label> 
<input type="text" name="text1" /> 
</p> 
<p><label for="text2">Second Number:</label> 
<input type="text" name="text2" /> 
</p> 
<p><input type="submit" value="Add" /></p> 
</form> 
<p>@totalMessage</p> 
</body> 
</html> 
Here are some things for you to note: 
The 
@
character starts the first block of code in the page, and it precedes the 
totalMessage
variable that's embedded near the bottom of the page. 
The block at the top of the page is enclosed in braces. 
In the block at the top, all lines end with a semicolon. 
The variables 
total
num1
num2
, and 
totalMessage
store several numbers and a string. 
The literal string value assigned to the 
totalMessage
variable is in double quotation marks. 
Because the code is case-sensitive, when the 
totalMessage
variable is used near the bottom 
of the page, its name must match the variable at the top exactly. 
The expression 
num1.AsInt() + num2.AsInt()
shows how to work with objects and methods. 
The 
AsInt
method on each variable converts the string entered by a user to a number (an 
integer) so that you can perform arithmetic on it. 
The 
<form>
tag includes a 
method="post"
attribute. This specifies that when the user clicks 
Add, the page will be sent to the server using the HTTP POST method. When the page is 
submitted, the 
if(IsPost)
test evaluates to true and the conditional code runs, displaying 
the result of adding the numbers. 
3.
Save the page and run it in a browser. (Make sure the page is selected in the Files workspace 
before you run it.) Enter two whole numbers and then click the Add button.  
XDoc.Word for .NET, Advanced .NET Word Processing Features
page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail Convert Word to PDF; Convert Word to HTML5; Convert Create an empty Word file; Load Word from
creating bookmarks in pdf documents; how to add bookmarks on pdf
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; 'create optimizing options
bookmarks pdf reader; excel print to pdf with bookmarks
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
22 
Basic Programming Concepts 
As you saw in Chapter 1 - Getting Started with ASP.NET Web Pages and in the previous example, even if 
you've never programmed before, with WebMatrix, ASP.NET web pages, and the Razor syntax, you can 
quickly create dynamic web pages with sophisticated features, and it won't take much code to get things 
done.  
This chapter provides you with an overview of ASP.NET web programming. It isn't an exhaustive 
examination, just a quick tour through the programming concepts you'll use most often. Even so, it 
covers almost everything you'll need for the rest of the book. 
But first, a little technical background. 
The Razor Syntax, Server Code, and ASP.NET 
Razor syntax is a simple programming syntax for embedding server-based code in a web page. In a web 
page that uses the Razor syntax, there are two kinds of content: client content and server code. Client 
content is the stuff you're used to in web pages: HTML markup (elements), style information such as 
CSS, client script such as JavaScript, and plain text. 
Razor syntax lets you add server code to this client content. If there's server code in the page, the server 
runs that code first, before it sends the page to the browser. By running on the server, the code can 
perform tasks that can be a lot more complex to do using client content alone, like accessing server-
based databases. Most importantly, server code can dynamically create client content — it can generate 
HTML markup or other content on the fly and then send it to the browser along with any static HTML 
that the page might contain. From the browser's perspective, client content that's generated by your 
server code is no different than any other client content. As you've already seen, the server code that's 
required is quite simple. 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
23 
ASP.NET web pages that include the Razor syntax have a special file extension (.cshtml or .vbhtml). The 
server recognizes these extensions, runs the code that's marked with Razor syntax, and then sends the 
page to the browser. 
Where does ASP.NET fit in? 
Razor syntax is based on a technology from Microsoft called ASP.NET, which in turn is based on the 
Microsoft .NET Framework. The.NET Framework is a big, comprehensive programming framework from 
Microsoft for developing virtually any type of computer application. ASP.NET is the part of the .NET 
Framework that's specifically designed for creating web applications. Developers have used ASP.NET to 
create many of the largest and highest-traffic websites in the world. (Any time you see the file-name 
extension .aspx as part of the URL in a site, you'll know that the site was written using ASP.NET.)  
The Razor syntax gives you all the power of ASP.NET, but using a simplified syntax that's easier to learn if 
you're a beginner and that makes you more productive if you're an expert. Even though this syntax is 
simple to use, its family relationship to ASP.NET and the .NET Framework means that as your websites 
become more sophisticated, you have the power of the larger frameworks available to you. 
Classes and Instances 
ASP.NET server code uses objects, which are in turn built on the idea of classes. The class is the 
definition or template for an object. For example, an application might contain a 
Customer
class that 
defines the properties and methods that any customer object needs. 
When the application needs to work with actual customer information, it creates an instance of (or 
instantiates) a customer object. Each individual customer is a separate instance of the 
Customer
class. 
Every instance supports the same properties and methods, but the property values for each instance are 
typically different, because each customer object is unique. In one customer object, the 
LastName
property might be "Smith"; in another customer object, the 
LastName
property might be "Jones."  
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
24 
Similarly, any individual web page in your site is a 
Page
object that's an instance of the 
Page
class. A 
button on the page is a 
Button
object that is an instance of the 
Button
class, and so on. Each instance has 
its own characteristics, but they all are based on what's specified in the object's class definition. 
Language and Syntax 
Earlier you saw a basic example of how to create an ASP.NET Web Pages page, and how you can add 
server code to HTML markup. Here you'll learn the basics of writing ASP.NET server code using the Razor 
syntax — that is, the programming language rules. 
If you're experienced with programming (especially if you've used C, C++, C#, Visual Basic, or JavaScript), 
much of what you read here will be familiar. You'll probably need to familiarize yourself only with how 
server code is added to markup in .cshtml files. 
Basic Syntax 
Combining Text, Markup, and Code in Code Blocks 
In server code blocks, you'll often want to output text or markup (or both) to the page. If a server code 
block contains text that's not code and that instead should be rendered as is, ASP.NET needs to be able 
to distinguish that text from code. There are several ways to do this. 
Enclose the text in an HTML element like 
<p></p>
or 
<em></em>
 
@if(IsPost) { 
// This line has all content between matched <p> tags. 
<p>Hello, the time is @DateTime.Now and this page is a postback!</p> 
} else { 
// All content between matched tags, followed by server code. 
<p>Hello <em>stranger</em>, today is: <br /> </p>  @DateTime.Now 
The HTML element can include text, additional HTML elements, and server-code expressions. 
When ASP.NET sees the opening HTML tag, it renders everything including the element and its 
content as is to the browser (and resolves the server-code expressions). 
Use the 
@:
operator or the 
<text>
element. The 
@:
outputs a single line of content containing 
plain text or unmatched HTML tags; the 
<text>
element encloses multiple lines to output. These 
options are useful when you don't want to render an HTML element as part of the output. 
@if(IsPost) { 
// Plain text followed by an unmatched HTML tag and server code. 
@: The time is: <br /> @DateTime.Now 
// Server code and then plain text, matched tags, and more text. 
@DateTime.Now @:is the <em>current</em> time. 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
25 
If you want to output multiple lines of text or unmatched HTML tags, you can precede each line 
with 
@:
, or you can enclose the line in a 
<text>
element. Like the 
@:
operator,
<text>
tags are 
used by ASP.NET to identify text content and are never rendered in the page output. 
@if(IsPost) { 
// Repeat the previous example, but use <text> tags. 
<text> 
The time is: <br /> @DateTime.Now 
@DateTime.Now is the <em>current</em> time. 
</text> 
@{ 
var minTemp = 75; 
<text>It is the month of @DateTime.Now.ToString("MMMM"), and 
it's a <em>great</em> day! <br /><p>You can go swimming if it's at 
least @minTemp degrees. </p></text> 
The first example repeats the previous example but uses a single pair of 
<text>
tags to enclose 
the text to render. In the second example, the 
<text>
and 
</text>
tags enclose three lines, all of 
which have some uncontained text and unmatched HTML tags (
<br />
), along with server code 
and matched HTML tags. Again, you could also precede each line individually with the 
@:
operator; either way works. 
Note   When you output text as shown in this section — using an HTML element, the 
@:
operator, or 
the 
<text>
element — ASP.NET doesn't HTML-encode the output. (As noted earlier, ASP.NET does 
encode the output of server code expressions and server code blocks that are preceded by 
@
, except 
in the special cases noted in this section.)  
Whitespace 
Extra spaces in a statement (and outside of a string literal) don't affect the statement: 
@{ var lastName =    "Smith"; } 
A line break in a statement has no effect on the statement, and you can wrap statements for readability. 
The following statements are the same: 
@{ var theName = 
"Smith"; } 
@{ 
var 
personName 
"Smith" 
 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
26 
However, you can't wrap a line in the middle of a string literal. The following example doesn't  work: 
@{ var test = "This is a long 
string"; }  // Does not work! 
To combine a long string that wraps to multiple lines like the above code, there are two options. You can 
use the concatenation operator (
+
), which you'll see later in this chapter. You can also use the 
@
character to create a verbatim string literal, as you saw earlier in this chapter. You can break verbatim 
string literals across lines: 
@{ var longString = @"This is a 
long 
string"; 
Code (and Markup) Comments 
Comments let you leave notes for yourself or others. They also allow you to disable ("comment out") a 
section of code or markup that you don't want to run but want to keep in your page for the time being.  
There's different commenting syntax for Razor code and for HTML markup. As with all Razor code, Razor 
comments are processed (and then removed) on the server before the page is sent to the browser. 
Therefore, the Razor commenting syntax lets you put comments into the code (or even into the markup) 
that you can see when you edit the file, but that users don't see, even in the page source. 
For ASP.NET Razor comments, you start the comment with 
@*
and end it with 
*@
. The comment can be 
on one line or multiple lines: 
@*  A one-line code comment. *@ 
@* 
This is a multiline code comment. 
It can continue for any number of lines. 
*@ 
Here is a comment within a code block: 
@{ 
@* This is a comment. *@ 
var theVar = 17; 
 
Here is the same block of code, with the line of code commented out so that it won't run: 
@{ 
@* This is a comment. *@ 
@* var theVar = 17;  *@ 
 
Documents you may be interested
Documents you may be interested