【发布时间】:2018-06-20 19:36:07
【问题描述】:
我有以下控制器:
public ActionResult delete(int id)
{
//call function
return RedirectToAction("Index");
}
在这里我想从我的模型中调用以下函数:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MySql.Data.MySqlClient;
namespace project1.Models.Admin
{
public class delete
{
public void delete(int id)
{
//xxx
const string ConnStr = "...";
MySqlConnection connection = new MySqlConnection(ConnStr);
connection.Open();
MySqlCommand sqlcmd2;
sqlcmd2 = connection.CreateCommand();
sqlcmd2.CommandText = "UPDATE `user` SET Aktive = 0 WHERE Nr = @id;";
sqlcmd2.Parameters.Add("@id", MySqlDbType.Int32).Value = id;
sqlcmd2.ExecuteNonQuery();
connection.Close();
//xxx
}
}
}
我得到的错误是“void”在这种情况下是不允许的。有没有其他方法可以在这里调用我的函数,或者我应该将整个连接(在“xxx”内)放入我的控制器中?
【问题讨论】:
-
您不能在具有该名称的类中使用
delete。话虽如此,delete对于一个班级来说是一个非常糟糕的名字。从这里开始,您应该遵循命名约定,例如对方法和类都使用 PascaleCase 名称。 -
@HimBromBeere 我的第一语言不是英语,所以为了更好地理解,我用英语更改了名称。但仍然感谢知道的好东西。
-
我的也没有,我猜这里只有少数人会说英语。无论如何,这些约定的存在是有充分理由的。
-
@HimBromBeere 我的意思是我的类、函数、......不是英文的名字。我只是在我的问题中改变了它,所以你们可能会更好地理解它。但还是谢谢。
标签: c# mysql asp.net-mvc