Nested List in C#
Consider there are two Class
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public List< Addresses > { get; set; }
}
public class Address
{
public string Line1 { get; set; }
public string Line2 { get; set; }
public string ZipCode { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Country { get; set; }
}
Procedure used to add multiple class in the List
var personDetails = new List< Person >
{
new Person
{
Id = 1, FirstName = "Arun",
LastName = "Prakash",
Addresses = new List< Address >
{
new Address{Line1 = "Hope College",Line2 = "Coimbatore"}
}
},
new Person{
Id = 2, FirstName = "Sanjay",
LastName = "Ramasamy",
Addresses = new List< Address >
{
new Address{Line1 = "Anna Salai",Line2= "Chennai"}
}
}
};
Dotnet, DotnetCore, Azure, C#,VB.net, Sql Server, WCF, MVC ,Linq, Javascript and Jquery
12 August 2013
5 August 2013
Html.RenderPartial vs Html.Partial, Html.RenderAction vs Html.Action
Html.RenderPartial vs Html.Partial, Html.RenderAction vs Html.Action
@Html.Partial("Details")
@Html.Action("Index", "Home")
and
@{ Html.RenderPartial("Details"); }
@{ Html.RenderAction("Index", "Home"); }
Html.Partial returns a string, Html.RenderPartial calls Write internally, and returns void.
You can store the output of Html.Partial in a variable, or return it from a function. You cannot do this with Html.RenderPartial.
Html.RenderPartial -The result will be written to the Response stream during the execution.
The same is true for Html.Action and Html.RenderAction.
@Html.Partial("Details")
@Html.Action("Index", "Home")
and
@{ Html.RenderPartial("Details"); }
@{ Html.RenderAction("Index", "Home"); }
Html.Partial returns a string, Html.RenderPartial calls Write internally, and returns void.
You can store the output of Html.Partial in a variable, or return it from a function. You cannot do this with Html.RenderPartial.
Html.RenderPartial -The result will be written to the Response stream during the execution.
The same is true for Html.Action and Html.RenderAction.
MVC 3 Ajax Json Sample
MVC 3 Ajax Json Sample
Create model name PersonDetails.cs
using System.Collections.Generic;
namespace MVCJsonAjax.Models
{
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public List< Address > Addresses { get; set; }
}
public class Address
{
public string Line1 { get; set; }
public string Line2 { get; set; }
public string ZipCode { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Country { get; set; }
}
}
Create Controller - SaveController.cs
using System.Web.Mvc;
using MVCJsonAjax.Models;
namespace MVCJsonAjax.Controllers
{
public class SaveController : Controller
{
//
// GET: /Save/
[ActionName("SaveData"),HttpGet]
public ActionResult SaveData()
{
return View();
}
[ActionName("SaveData"), HttpPost]
public JsonResult SaveData(Person objPerson,Address objAddress)
{
JsonResult result = new JsonResult();
// Save logic - save person and address details
result.Data = "Saved Successfully";
return result;
}
}
}
Create View for ActionResult SaveData()
@using MVCJsonAjax.Models
@{
ViewBag.Title = "SaveData";
}
< h2 >
Save Data< /h2 >
< div>
< div id="message" >
< /div>
< /div >
< script type =" text/javascript ">
$(document).ready(function () {
$('#btnSubmit').click(function () {
var Person =
{
FirstName: $('#Item1_FirstName').val(),
LastName: $('#Item1_LastName').val()
};
var Address =
{
Line1: $('#Item2_Line1').val(),
Line2: $('#Item2_Line2').val(),
ZipCode: $('#Item2_ZipCode').val(),
City: $('#Item2_City').val(),
State: $('#Item2_State').val(),
Country: $('#Item2_Country').val()
};
var obj = { "Per": Person, "Add": Address};
$.ajax({
url: '/Save/SaveData',
type: "POST",
data:JSON.stringify({objPerson: Person ,objAddress: Address }),
cache: false,
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (result) {
$('#message').html(result).fadeIn();
}
});
return false;
});
});
@model Tuple< Person, Address >
@using ( Html.BeginForm() )
{
< table >
< tr >
< td >
@Html.LabelFor(m => m.Item1.FirstName)
@Html.TextBoxFor(m => m.Item1.FirstName)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item1.LastName)
@Html.TextBoxFor(m => m.Item1.LastName)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item2.Line1)
@Html.TextBoxFor(m => m.Item2.Line1)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item2.Line2)
@Html.TextBoxFor(m => m.Item2.Line2)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item2.ZipCode)
@Html.TextBoxFor(m => m.Item2.ZipCode)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item2.City)
@Html.TextBoxFor(m => m.Item2.City)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item2.State)
@Html.TextBoxFor(m => m.Item2.State)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item2.Country)
@Html.TextBoxFor(m => m.Item2.Country)
< /td >
< /tr >
< tr >
< td >
< input type="submit" value="Submit" id="btnSubmit" / >
< /td >
< /tr >
< /table >
}
Create model name PersonDetails.cs
using System.Collections.Generic;
namespace MVCJsonAjax.Models
{
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public List< Address > Addresses { get; set; }
}
public class Address
{
public string Line1 { get; set; }
public string Line2 { get; set; }
public string ZipCode { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Country { get; set; }
}
}
Create Controller - SaveController.cs
using System.Web.Mvc;
using MVCJsonAjax.Models;
namespace MVCJsonAjax.Controllers
{
public class SaveController : Controller
{
//
// GET: /Save/
[ActionName("SaveData"),HttpGet]
public ActionResult SaveData()
{
return View();
}
[ActionName("SaveData"), HttpPost]
public JsonResult SaveData(Person objPerson,Address objAddress)
{
JsonResult result = new JsonResult();
// Save logic - save person and address details
result.Data = "Saved Successfully";
return result;
}
}
}
Create View for ActionResult SaveData()
@using MVCJsonAjax.Models
@{
ViewBag.Title = "SaveData";
}
< h2 >
Save Data< /h2 >
< div>
< div id="message" >
< /div>
< /div >
< script type =" text/javascript ">
$(document).ready(function () {
$('#btnSubmit').click(function () {
var Person =
{
FirstName: $('#Item1_FirstName').val(),
LastName: $('#Item1_LastName').val()
};
var Address =
{
Line1: $('#Item2_Line1').val(),
Line2: $('#Item2_Line2').val(),
ZipCode: $('#Item2_ZipCode').val(),
City: $('#Item2_City').val(),
State: $('#Item2_State').val(),
Country: $('#Item2_Country').val()
};
var obj = { "Per": Person, "Add": Address};
$.ajax({
url: '/Save/SaveData',
type: "POST",
data:JSON.stringify({objPerson: Person ,objAddress: Address }),
cache: false,
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (result) {
$('#message').html(result).fadeIn();
}
});
return false;
});
});
@model Tuple< Person, Address >
@using ( Html.BeginForm() )
{
< table >
< tr >
< td >
@Html.LabelFor(m => m.Item1.FirstName)
@Html.TextBoxFor(m => m.Item1.FirstName)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item1.LastName)
@Html.TextBoxFor(m => m.Item1.LastName)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item2.Line1)
@Html.TextBoxFor(m => m.Item2.Line1)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item2.Line2)
@Html.TextBoxFor(m => m.Item2.Line2)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item2.ZipCode)
@Html.TextBoxFor(m => m.Item2.ZipCode)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item2.City)
@Html.TextBoxFor(m => m.Item2.City)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item2.State)
@Html.TextBoxFor(m => m.Item2.State)
< /td >
< /tr >
< tr >
< td >
@Html.LabelFor(m => m.Item2.Country)
@Html.TextBoxFor(m => m.Item2.Country)
< /td >
< /tr >
< tr >
< td >
< input type="submit" value="Submit" id="btnSubmit" / >
< /td >
< /tr >
< /table >
}
4 August 2013
Dynamic v. Strongly Typed Views in MVC C# Razor Engine
Dynamic vs. Strongly Typed Views
Dynamic
Because we’re using a dynamic and not a strongly typed view, intellisense doesn’t help us. The completed code is shown below:
@model dynamic
@ {
ViewBag.Title = "IndexNotStonglyTyped";
}
< p >
< ul >
@foreach (var blog in Model) {
< li >
< a href="@blog.URL">@blog.Name< /a >
< /li >
}
< /ul >
< /p >
Strongly Typed Views
When it is strongly typed view.
Inside the new view template we get intellisense support.
Dynamic
Because we’re using a dynamic and not a strongly typed view, intellisense doesn’t help us. The completed code is shown below:
@model dynamic
@ {
ViewBag.Title = "IndexNotStonglyTyped";
}
Index Not Stongly Typed< /h2 >
< p >
< ul >
@foreach (var blog in Model) {
< li >
< a href="@blog.URL">@blog.Name< /a >
< /li >
}
< /ul >
< /p >
Strongly Typed Views
When it is strongly typed view.
Inside the new view template we get intellisense support.
Handle Multiple Submit button in MVC C#
Handle Multiple Submit button in MVC C#
View
<% Html.BeginForm("MyAction", "MyController", FormMethod.Post); %>
< input type="submit" name="submitButton" value="Send" / >
< input type="submit" name="submitButton" value="Cancel" / >
<% Html.EndForm(); %>
Controller
public class MyController : Controller {
public ActionResult MyAction(string submitButton) {
switch(submitButton) {
case "Send":
// delegate sending to another controller action
return(Send());
case "Cancel":
// call another action to perform the cancellation
return(Cancel());
default:
// If they've submitted the form without a submitButton,
// just return the view again.
return(View());
}
}
private ActionResult Cancel() {
// process the cancellation request here.
return(View("Cancelled"));
}
private ActionResult Send() {
// perform the actual send operation here.
return(View("SendConfirmed"));
}
}
View
<% Html.BeginForm("MyAction", "MyController", FormMethod.Post); %>
< input type="submit" name="submitButton" value="Send" / >
< input type="submit" name="submitButton" value="Cancel" / >
<% Html.EndForm(); %>
Controller
public class MyController : Controller {
public ActionResult MyAction(string submitButton) {
switch(submitButton) {
case "Send":
// delegate sending to another controller action
return(Send());
case "Cancel":
// call another action to perform the cancellation
return(Cancel());
default:
// If they've submitted the form without a submitButton,
// just return the view again.
return(View());
}
}
private ActionResult Cancel() {
// process the cancellation request here.
return(View("Cancelled"));
}
private ActionResult Send() {
// perform the actual send operation here.
return(View("SendConfirmed"));
}
}
Delegates Example in C#
//Delegates Example in C#
using System;
using System.Windows.Forms;
namespace DelegatesTesting
{
public partial class DelegatesTest : Form
{
public DelegatesTest()
{
InitializeComponent();
}
//Delegate Declaration
public delegate int PointtoAddFunction(int i, int j);
private void btnSubmit_Click(object sender, EventArgs e)
{
//Point the Delegate object with Method
PointtoAddFunction handler = AddFunction;
//Invoke the Method
MessageBox.Show(handler(10, 12).ToString());
}
//Method
public int AddFunction(int i, int j)
{
return i + j;
}
}
}
using System;
using System.Windows.Forms;
namespace DelegatesTesting
{
public partial class DelegatesTest : Form
{
public DelegatesTest()
{
InitializeComponent();
}
//Delegate Declaration
public delegate int PointtoAddFunction(int i, int j);
private void btnSubmit_Click(object sender, EventArgs e)
{
//Point the Delegate object with Method
PointtoAddFunction handler = AddFunction;
//Invoke the Method
MessageBox.Show(handler(10, 12).ToString());
}
//Method
public int AddFunction(int i, int j)
{
return i + j;
}
}
}
Datatable to List in C# using Linq
Datatable to List in C# using Linq
//StudentDetails Class with Entity Details
public class StudentDetails
{
public int StudentID { get; set; }
public string StudentName { get; set; }
public string ClassName { get; set; }
public string Section { get; set; }
}
{
public int StudentID { get; set; }
public string StudentName { get; set; }
public string ClassName { get; set; }
public string Section { get; set; }
}
//Dataaccess part, Microsoft Sqlhelper class used
public List GetStudentDetails(int studentID)
{
DataSet ds = new DataSet();
SqlParameter[] SqlParam = null;
SqlParam = new SqlParameter[1];
SqlCommand SqlCmd = new SqlCommand();
List objStud =
new List();
try
{
SqlParam[0] = new SqlParameter("@StudentID", SqlDbType.Int);
SqlParam[0].Value = studentID;
SqlHelper.FillDataset(DBconnection(), CommandType.StoredProcedure, "usp_Get_StudentDetails", ds, new string[] { "Display" }, SqlParam);
objStud =
ds.Tables[0].AsEnumerable().Select(data => new StudentDetails() { StudentID
= (int)data["StudentID"], StudentName =
(string)data["StudentName"], ClassName =
(string)data["ClassName"], Section =
(string)data["Section"] }).ToList();
return objStud;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (ds != null)
{
ds.Dispose();
}
objStud = null;
}
}
{
DataSet ds = new DataSet();
SqlParameter[] SqlParam = null;
SqlParam = new SqlParameter[1];
SqlCommand SqlCmd = new SqlCommand();
List
try
{
SqlParam[0] = new SqlParameter("@StudentID", SqlDbType.Int);
SqlParam[0].Value = studentID;
SqlHelper.FillDataset(DBconnection(), CommandType.StoredProcedure, "usp_Get_StudentDetails", ds, new string[] { "Display" }, SqlParam);
return objStud;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (ds != null)
{
ds.Dispose();
}
objStud = null;
}
}
Subscribe to:
Posts (Atom)
Implementing OAuth validation in a Web API
I mplementing OAuth validation in a Web API Implementing OAuth validation in a Web API using C# typically involves several key steps to sec...
-
ViewBag, ViewData, TempData and View State in MVC ASP.NET MVC offers us three options ViewData, ViewBag and TempData for passing data from...
-
// Export Datatable to Excel in C# Windows application using System; using System.Data; using System.IO; using System.Windows.Forms; ...