2016-10-24 1 views
0

Теперь мой запрос состоит в том, что я разработал домашнюю страницу пользователя, используя переменные сеанса, которые будут содержать имя пользователя и адрес электронной почты пользователя и покажите эти сеансы на странице aspx на главной странице, теперь мне нужно, чтобы конкретный пользователь редактировал и обновлял зарегистрированный адрес электронной почты, и после обновления он также должен обновляться с новыми значениями полей электронной почты для этого конкретного пользователя. Теперь в базе данных есть таблица под названием tblcontacts, которая содержит четыре столбца: name, fname, E-mail и studentID. Пожалуйста, помогите мне, как мне найти и выбрать соответствующую строку, чтобы обновить данные с помощью кода запроса LINQ.Мне нужно, чтобы пользователь обновил данные, введенные в текстовое поле, чтобы вернуться к деталям конкретного пользователя в базу данных

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Homepage.aspx.cs" Inherits="WebApplication5.Homepage" %> 
 

 
<!DOCTYPE html> 
 

 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
<head runat="server"> 
 
    <title></title> 
 
</head> 
 
<body> 
 
    <form id="form1" runat="server"> 
 
    <div> 
 
    
 
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 
     <br /> 
 
&nbsp;&nbsp;&nbsp;<h1> Welcome!&nbsp; </h1> 
 
     <p> &nbsp; <img src="user.jpg" /></p> 
 
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 
     <asp:Label ID="lblName" runat="server" Text="Label"></asp:Label> 
 
&nbsp;&nbsp;<br /> 
 
     <br /> 
 
&nbsp;Your Registered e-mail is: 
 
     <asp:Label ID="lblmail" runat="server" Text="Label"></asp:Label> 
 
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 
     <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Edit" /> 
 
&nbsp;&nbsp;&nbsp;&nbsp; New-Email :&nbsp; 
 
     <asp:TextBox ID="TextBox1" runat="server" Visible="False"></asp:TextBox> 
 
     &nbsp; 
 
     <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="Wrong Format!" ForeColor="Red" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator> 
 
     <br /> 
 
     <br /> 
 
     <br /> 
 
     <br /> 
 
    
 
    </div> 
 
    </form> 
 
</body> 
 
</html>

using System; 
 
using System.Collections.Generic; 
 
using System.Linq; 
 
using System.Web; 
 
using System.Web.UI; 
 
using System.Web.UI.WebControls; 
 

 
namespace WebApplication5 
 
{ 
 
    public partial class Homepage : System.Web.UI.Page 
 
    { 
 
     public static int check = 0; 
 
     DataClasses1DataContext db = new DataClasses1DataContext(); 
 
     protected void Page_Load(object sender, EventArgs e) 
 
     { 
 
      lblName.Text = Session["name"].ToString(); 
 
      lblmail.Text = Session["email"].ToString(); 
 
     } 
 

 
     protected void Button1_Click(object sender, EventArgs e) 
 
     { 
 
      tblContact tb = new tblContact(); 
 
      check += 1; 
 
      if (check % 2 == 0) 
 
      { 
 
       
 
       tb.Email = TextBox1.Text; 
 
       TextBox1.Visible = false; 
 
       Button1.Text = "edit"; 
 
       db.SubmitChanges(); 
 
      } 
 
      else 
 
      { 
 
       TextBox1.Visible = true; 
 
       Button1.Text = "Update"; 
 
      } 
 
     } 
 
    } 
 
}

ответ

0

После выполнения некоторого исследования для требуемого кода, наконец, я зафиксировал это путем удаления строки в коде, как tb.email = TextBox1.Text и после добавление следующих двух строк кода в функцию обработчика событий нажатия кнопок:

protected void Button1_Click(object sender, EventArgs e) 
    { 
     tblContact tb = new tblContact(); 
     check += 1; 
     if (check % 2 == 0) 
     { 
      var student = (from c in db.tblContacts where c.name == lblName.Text select c).Single(); 
      student.Email = TextBox1.Text; 
      TextBox1.Visible = false; 
      Button1.Text = "edit"; 
      db.SubmitChanges(); 
     } 
     else 
     { 
      TextBox1.Visible = true; 
      Button1.Text = "Update"; 
     } 
    } 

Единственный метод здесь, в запросе LINQ, заставил его работать, чтобы выбрать нужную строку в таблице, для которой детали должны быть обновлены! Этот ответ должен быть помечен как правильный, так как это разрешено по запросу