Database :
-- Login Table CREATE TABLE [dbo].[login]( [id] [int] IDENTITY(1,1) NOT NULL, [username] [varchar](50) NULL, [password] [nvarchar](50) NULL, [lastlogin] [datetime] NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO -- Stored Procedure -- Stored Procedure to fetch login table data Create proc [dbo].[sp_getlogin] AS select *from login -- Fetch Login table data on the basis of id Create proc [dbo].[sp_getloginbyid] @id int as select *from login where id=@id -- Insert Record stored procedure into login table Create proc [dbo].[sp_logininsert] @username VARCHAR(50), @password VARCHAR(50) AS insert into login(username,password) values(@username, @password) -- Update Login Table Record using stored procedure Create proc [dbo].[sp_loginupdate] @id int , @username VARCHAR(50), @password VARCHAR(50) AS update [login] set username=@username , password=@password where id=@id -- Delete Login Table Record using stored procedure Create proc [dbo].[sp_deletelogin] @id INT AS delete from login where id=@id
Home Controller
using System.Linq;
using System.Web.Mvc;
using SPEx.Models;
using System.Data.SqlClient;
namespace SPEx.Controllers
{
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
var db = new angularEntities();
var data = db.sp_getlogin();
return View(data.ToList());
}
// GET: Home/Details/5
public ActionResult Details(int id)
{
var db = new angularEntities();
SqlParameter param1 = new SqlParameter("@id", id);
var data = db.Database.SqlQuery<login>("exec sp_getloginbyid @id", param1).SingleOrDefault();
return View(data);
}
// GET: Home/Create
public ActionResult Create()
{
return View();
}
// POST: Home/Create
[HttpPost]
public ActionResult Create(login obj)
{
try
{
var db = new angularEntities();
SqlParameter param1 = new SqlParameter("@username", obj.username);
SqlParameter param2 = new SqlParameter("@password", obj.password);
var data = db.Database.ExecuteSqlCommand("sp_logininsert @username , @password", param1, param2);
// TODO: Add insert logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
// GET: Home/Edit/5
public ActionResult Edit(int id)
{
var db = new angularEntities();
SqlParameter param1 = new SqlParameter("@id", id);
var data = db.Database.SqlQuery<login>("exec sp_getloginbyid @id", param1).SingleOrDefault();
return View(data);
}
// POST: Home/Edit/5
[HttpPost]
public ActionResult Edit(int? id, login obj)
{
var db = new angularEntities();
SqlParameter param1 = new SqlParameter("@username", obj.username);
SqlParameter param2 = new SqlParameter("@password", obj.password);
SqlParameter param3 = new SqlParameter("@id", id);
var data = db.Database.ExecuteSqlCommand("sp_loginupdate @id, @username, @password", param3, param1, param2);
// db.SaveChanges();
return RedirectToAction("Index");
}
// GET: Home/Delete/5
public ActionResult Delete(int id)
{
var db = new angularEntities();
SqlParameter param1 = new SqlParameter("@id", id);
var data = db.Database.SqlQuery<login>("exec sp_getloginbyid @id", param1).SingleOrDefault();
return View(data);
}
// POST: Home/Delete/5
[HttpPost]
public ActionResult Delete(int id, login collection)
{
try
{
// TODO: Add delete logic here
var db = new angularEntities();
SqlParameter param = new SqlParameter("@id", id);
db.Database.ExecuteSqlCommand("sp_deletelogin @id", param);
return RedirectToAction("Index");
}
catch
{
return View();
}
}
public ActionResult dd()
{
var db = new angularEntities();
ViewBag.dddata = new SelectList(db.logins.ToList(), "id", "username");
return View();
}
public ActionResult submitdata()
{
return View();
}
}
}
Index.cshtml
@model IEnumerable<SPEx.Models.login>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.username)
</th>
<th>
@Html.DisplayNameFor(model => model.password)
</th>
<th>
@Html.DisplayNameFor(model => model.lastlogin)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.username)
</td>
<td>
@Html.DisplayFor(modelItem => item.password)
</td>
<td>
@Html.DisplayFor(modelItem => item.lastlogin)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.id }) |
@Html.ActionLink("Details", "Details", new { id=item.id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.id })
</td>
</tr>
}
</table>
Create.cshtml
@model SPEx.Models.login
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>login</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.username, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.username, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.username, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.password, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.password, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.password, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.lastlogin, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.lastlogin, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.lastlogin, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
Edit.cshtml
@model SPEx.Models.login
@{
ViewBag.Title = "Edit";
}
<h2>Edit</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>login</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.id)
<div class="form-group">
@Html.LabelFor(model => model.username, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.username, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.username, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.password, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.password, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.password, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.lastlogin, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.lastlogin, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.lastlogin, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
Details.cshtml
@model SPEx.Models.login
@{
ViewBag.Title = "Details";
}
<h2>Details</h2>
<div>
<h4>login</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.username)
</dt>
<dd>
@Html.DisplayFor(model => model.username)
</dd>
<dt>
@Html.DisplayNameFor(model => model.password)
</dt>
<dd>
@Html.DisplayFor(model => model.password)
</dd>
<dt>
@Html.DisplayNameFor(model => model.lastlogin)
</dt>
<dd>
@Html.DisplayFor(model => model.lastlogin)
</dd>
</dl>
</div>
<p>
@Html.ActionLink("Edit", "Edit", new { id = Model.id }) |
@Html.ActionLink("Back to List", "Index")
</p>
Delete.cshtml
@model SPEx.Models.login
@{
ViewBag.Title = "Delete";
}
<h2>Delete</h2>
<h3>Are you sure you want to delete this?</h3>
<div>
<h4>login</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.username)
</dt>
<dd>
@Html.DisplayFor(model => model.username)
</dd>
<dt>
@Html.DisplayNameFor(model => model.password)
</dt>
<dd>
@Html.DisplayFor(model => model.password)
</dd>
<dt>
@Html.DisplayNameFor(model => model.lastlogin)
</dt>
<dd>
@Html.DisplayFor(model => model.lastlogin)
</dd>
</dl>
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
<div class="form-actions no-color">
<input type="submit" value="Delete" class="btn btn-default" /> |
@Html.ActionLink("Back to List", "Index")
</div>
}
</div>
Part-1 Video
Part-2 Video
Dear Sir I try But error show
An expression tree may not contain a dynamic operation
i Have Send You Tube Link Your Video