save pdf in database c# : How to bookmark a pdf document SDK application API wpf html windows sharepoint ASPNETWebPagesWithRazorSyntax-Book4-part623

ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
37 
To create a more general-purpose loop, use the 
while
statement: 
@{ 
var countNum = 0; 
while (countNum < 50) 
countNum += 1; 
<p>Line #@countNum: </p> 
while
loop begins with the 
while
keyword, followed by parentheses where you specify how long the 
loop continues (here, for as long as 
countNum
is less than 50), then the block to repeat. Loops typically 
increment (add to) or decrement (subtract from) a variable or object used for counting. In the example, 
the 
+=
operator adds 1 to 
countNum
each time the loop runs. (To decrement a variable in a loop that 
counts down, you would use the decrement operator 
-=
). 
Objects and Collections 
Nearly everything in an ASP.NET website is an object, including the web page itself. This section 
discusses some important objects you'll work with frequently in your code. 
How to bookmark a pdf document - 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
add bookmark pdf; how to bookmark a pdf document
How to bookmark a pdf document - 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
export pdf bookmarks to text; bookmarks in pdf files
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
38 
Page Objects 
The most basic object in ASP.NET is the page. You can access properties of the page object directly 
without any qualifying object. The following code gets the page's file path, using the 
Request
object of 
the page:  
@{ 
var path = Request.FilePath; 
To make it clear that you're referencing properties and methods on the current page object, you can 
optionally use the keyword 
this
to represent the page object in your code. Here is the previous code 
example, with 
this
added to represent the page: 
@{ 
var path = this.Request.FilePath; 
You can use properties of the 
Page
object to get a lot of information, such as: 
Request
. As you've already seen, this is a collection of information about the current request, 
including what type of browser made the request, the URL of the page, the user identity, etc. 
Response
. This is a collection of information about the response (page) that will be sent to the 
browser when the server code has finished running. For example, you can use this property to 
write information into the response.  
@{ 
// Access the page's Request object to retrieve the Url. 
var pageUrl = this.Request.Url; 
<a href="@pageUrl">My page</a> 
Collection Objects (Arrays and Dictionaries) 
A collection is a group of objects of the same type, such as a collection of 
Customer
objects from a 
database. ASP.NET contains many built-in collections, like the 
Request.Files
collection. 
You'll often work with data in collections. Two common collection types are the array and the 
dictionary. An array is useful when you want to store a collection of similar items but don't want to 
create a separate variable to hold each item: 
@* Array block 1: Declaring a new array using braces. *@ 
@{ 
<h3>Team Members</h3> 
string[] teamMembers = {"Matt", "Joanne", "Robert", "Nancy"}; 
foreach (var person in teamMembers) 
<p>@person</p> 
C# PDF Converter Library SDK to convert PDF to other file formats
NET. How to Use C#.NET XDoc.PDF Component to Convert PDF Document to Various Document and Image Forms in Visual C# .NET Application.
convert word pdf bookmarks; create bookmark in pdf automatically
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Split PDF document by PDF bookmark and outlines in VB.NET. Independent component for splitting PDF document in preview without using external PDF control.
create bookmark pdf file; bookmarks pdf file
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
39 
With arrays, you declare a specific data type, such as 
string
int
, or 
DateTime
. To indicate that the 
variable can contain an array, you add brackets to the declaration (such as 
string[]
or 
int[]
). You can 
access items in an array using their position (index) or by using the 
foreach
statement. Array indexes are 
zero-based — that is, the first item is at position 0, the second item is at position 1, and so on. 
@{ 
string[] teamMembers = {"Matt", "Joanne", "Robert", "Nancy"}; 
<p>The number of names in the teamMembers array: @teamMembers.Length </p> 
<p>Robert is now in position: @Array.IndexOf(teamMembers, "Robert")</p> 
<p>The array item at position 2 (zero-based) is @teamMembers[2]</p> 
<h3>Current order of team members in the list</h3> 
foreach (var name in teamMembers) 
<p>@name</p> 
<h3>Reversed order of team members in the list</h3> 
Array.Reverse(teamMembers); 
foreach (var reversedItem in teamMembers) 
<p>@reversedItem</p> 
You can determine the number of items in an array by getting its 
Length
property. To get the position of 
a specific item in the array (to search the array), use the 
Array.IndexOf
method. You can also do things 
like reverse the contents of an array (the 
Array.Reverse
method) or sort the contents (the 
Array.Sort
method). 
The output of the string array code displayed in a browser: 
C# PDF Library SDK to view, edit, convert, process PDF file for C#
RasterEdge PDF SDK for .NET package offers robust APIs for editing PDF document hyperlink (url) and quick navigation link in PDF bookmark.
bookmarks pdf files; convert word to pdf with bookmarks
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit Document Protect. Password: Set File Permissions. Password:
add bookmarks to pdf file; 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 
40 
A dictionary is a collection of key/value pairs, where you provide the key (or name) to set or retrieve the 
corresponding value: 
@{ 
var myScores = new Dictionary<string, int>(); 
myScores.Add("test1", 71); 
myScores.Add("test2", 82); 
myScores.Add("test3", 100); 
myScores.Add("test4", 59); 
<p>My score on test 3 is: @myScores["test3"]%</p> 
@(myScores["test4"] = 79) 
<p>My corrected score on test 4 is: @myScores["test4"]%</p> 
To create a dictionary, you use the 
new
keyword to indicate that you're creating a new dictionary object. 
You can assign a dictionary to a variable using the 
var
keyword. You indicate the data types of the items 
in the dictionary using angle brackets ( < > ). At the end of the declaration, you must add a pair of 
parentheses, because this is actually a method that creates a new dictionary.  
To add items to the dictionary, you can call the 
Add
method of the dictionary variable (
myScores
in this 
case), and then specify a key and a value. Alternatively, you can use square brackets to indicate the key 
and do a simple assignment, as in the following example: 
myScores["test4"] = 79; 
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
watermark and save PDF text, image, table, hyperlink and bookmark to Word library control (XDoc.PDF) is a mature and effective PDF document converting utility.
creating bookmarks pdf files; creating bookmarks pdf
How to C#: Basic SDK Concept of XDoc.PDF for .NET
XDoc.PDF for .NET allows C# developers to edit hyperlink of PDF document, including editing PDF url links and quick navigation link in bookmark/outline.
adding bookmarks to pdf document; how to create bookmarks in pdf file
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
41 
To get a value from the dictionary, you specify the key in brackets: 
var testScoreThree = myScores["test3"]; 
Calling Methods with Parameters 
As you read earlier in this chapter, the objects that you program with can have methods. For example, a 
Database
object might have a 
Database.Connect
method. Many methods also have one or more 
parameters. A parameter is a value that you pass to a method to enable the method to complete its 
task. For example, look at a declaration for the 
Request.MapPath
method, which takes three parameters: 
public string MapPath(string virtualPath, string baseVirtualDir, bool allowCrossAppMapping); 
This method returns the physical path on the server that corresponds to a specified virtual path. The 
three parameters for the method are 
virtualPath
baseVirtualDir
, and 
allowCrossAppMapping
. (Notice 
that in the declaration, the parameters are listed with the data types of the data that they'll accept.) 
When you call this method, you must supply values for all three parameters.  
The Razor syntax gives you two options for passing parameters to a method: positional parameters and 
named parameters. To call a method using positional parameters, you pass the parameters in a strict 
order that's specified in the method declaration. (You would typically know this order by reading 
documentation for the method.) You must follow the order, and you can't skip any of the parameters — 
if necessary, you pass an empty string (
""
) or 
null
for a positional parameter that you don't have a value 
for. 
The following example assumes you have a folder named scripts on your website. The code calls the 
Request.MapPath
method and passes values for the three parameters in the correct order. It then 
displays the resulting mapped path.  
// Pass parameters to a method using positional parameters. 
var myPathPositional = Request.MapPath("/scripts", "/", true); 
<p>@myPathPositional</p> 
When a method has many parameters, you can keep your code more readable by using named 
parameters. To call a method using named parameters, you specify the parameter name followed by a 
colon (:), and then the value. The advantage of named parameters is that you can pass them in any 
order you want. (A disadvantage is that the method call is not as compact.)  
The following example calls the same method as above, but uses named parameters to supply the 
values:  
// Pass parameters to a method using named parameters. 
var myPathNamed = Request.MapPath(baseVirtualDir: "/", allowCrossAppMapping: true, 
virtualPath: "/scripts"); 
<p>@myPathNamed</p> 
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Change Word hyperlink to PDF hyperlink and bookmark. DOCXDocument doc = new DOCXDocument(inputFilePath); // Convert it to PDF document.
create bookmarks in pdf; create bookmarks pdf
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
C#.NET Program. Free PDF document processing SDK supports PDF page extraction, copying and pasting in Visual Studio .NET project.
how to add bookmarks to pdf files; bookmark pdf in preview
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
42 
As you can see, the parameters are passed in a different order. However, if you run the previous 
example and this example, they'll return the same value. 
Handling Errors 
Try-Catch Statements 
You'll often have statements in your code that might fail for reasons outside your control. For example: 
If your code tries to open, create, read, or write a file, all sorts of errors might occur. The file you 
want might not exist, it might be locked, the code might not have permissions, and so on.  
Similarly, if your code tries to update records in a database, there can be permissions issues, the 
connection to the database might be dropped, the data to save might be invalid, and so on. 
In programming terms, these situations are called exceptions. If your code encounters an exception, it 
generates (throws) an error message that's, at best, annoying to users:  
In situations where your code might encounter exceptions, and in order to avoid error messages of this 
type, you can use 
try/catch
statements. In the 
try
statement, you run the code that you're checking. In 
one or more 
catch
statements, you can look for specific errors (specific types of exceptions) that might 
have occurred. You can include as many 
catch
statements as you need to look for errors that you are 
anticipating. 
Note   We recommend that you avoid using the 
Response.Redirect
method in 
try/catch
statements, because it can cause an exception in your page. 
The following example shows a page that creates a text file on the first request and then displays a 
button that lets the user open the file. The example deliberately uses a bad file name so that it will 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
43 
cause an exception. The code includes 
catch
statements for two possible exceptions: 
FileNotFoundException
, which occurs if the file name is bad, and 
DirectoryNotFoundException
, which 
occurs if ASP.NET can't even find the folder. (You can uncomment a statement in the example in order 
to see how it runs when everything works properly.) 
If your code didn't handle the exception, you would see an error page like the previous screen shot. 
However, the 
try/catch
section helps prevent the user from seeing these types of errors. 
@{ 
var dataFilePath = "~/dataFile.txt"; 
var fileContents = ""; 
var physicalPath = Server.MapPath(dataFilePath); 
var userMessage = "Hello world, the time is " + DateTime.Now; 
var userErrMsg = ""; 
var errMsg = ""; 
if(IsPost) 
// When the user clicks the "Open File" button and posts 
// the page, try to open the created file for reading. 
try { 
// This code fails because of faulty path to the file. 
fileContents = File.ReadAllText(@"c:\batafile.txt"); 
// This code works. To eliminate error on page, 
// comment the above line of code and uncomment this one. 
//fileContents = File.ReadAllText(physicalPath); 
catch (FileNotFoundException ex) { 
// You can use the exception object for debugging, logging, etc. 
errMsg = ex.Message; 
// Create a friendly error message for users. 
userErrMsg = "A file could not be opened, please contact " 
+ "your system administrator."; 
catch (DirectoryNotFoundException ex) { 
// Similar to previous exception. 
errMsg = ex.Message; 
userErrMsg = "A directory was not found, please contact " 
+ "your system administrator."; 
else 
// The first time the page is requested, create the text file. 
File.WriteAllText(physicalPath, userMessage); 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8" /> 
<title>Try-Catch Statements</title> 
</head> 
<body> 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 2 – Introduction to ASP.NET Web Programming Using the Razor Syntax 
44 
<form method="POST" action="" > 
<input type="Submit" name="Submit" value="Open File"/> 
</form> 
<p>@fileContents</p> 
<p>@userErrMsg</p> 
</body> 
</html> 
Additional Resources 
Programming with Visual Basic 
Appendix: ASP.NET Web Pages Visual Basic 
Reference Documentation 
ASP.NET 
C# Language 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 3 – Creating a Consistent Look 
45 
Chapter 3 
Creating a Consistent Look 
To make it more efficient to create web pages for your site, you can create reusable blocks of content 
(like headers and footers) for your website, and you can create a consistent layout for all the pages. 
What you'll learn: 
How to create reusable blocks of content like headers and footers. 
How to create a consistent look for all the pages in your site using a layout page. 
How to pass data at run time to a layout page. 
How to create and use a simple helper. 
These are the ASP.NET features introduced in the chapter: 
Content blocks, which are files that contain HTML-formatted content to be inserted in multiple 
pages. 
Layout pages, which are pages that contain HTML-formatted content that can be shared by 
pages on the website. 
The 
RenderPage
RenderBody
, and 
RenderSection
methods, which tell ASP.NET where to insert 
page elements. 
The 
PageData
dictionary that lets you share data between content blocks and layout pages. 
Creating Reusable Blocks of Content
Many websites have content that's displayed on every page, like a header and footer, or a box that tells 
users that they're logged in. ASP.NET lets you create a separate file with a content block that can contain 
text, markup, and code, just like a regular web page. You can then insert the content block in other 
pages on the site where you want the information to appear. That way you don't have to copy and paste 
the same content into every page. Creating common content like this also makes it easier to update 
your site. If you need to change the content, you can just update a single file, and the changes are then 
reflected everywhere the content has been inserted. 
The following diagram shows how content blocks work. When a browser requests a page from the web 
server, ASP.NET inserts the content blocks at the point where the 
RenderPage
method is called in the 
main page. The finished (merged) page is then sent to the browser. 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 3 – Creating a Consistent Look 
46 
In this procedure, you'll create a page that references two content blocks (a header and a footer) that 
are located in separate files. You can use these same content blocks in any page in your site. When 
you're done, you'll get a page like this: 
1.
In the root folder of your website, create a file named Index.cshtml. 
Replace the existing markup with the following:  
<!DOCTYPE html> 
<html> 
<head> 
<title>Main Page</title> 
</head> 
<body> 
<h1>Index Page Content</h1> 
<p>This is the content of the main page.</p> 
</body> 
</html>
2.
In the root folder, create a folder named Shared. 
Documents you may be interested
Documents you may be interested