- Remove From My Forums
Удаление строки из таблицы
-
Вопрос
-
Есть таблица на главном представлении Index, в конроллере пытаюсь удалить запись из таблицы, при этом ошибок не возникает, но при запуске и нажатии соответствующей кнопки, происходит ошибка. запись в контроллере:
public ActionResult Delete(int kod)
{
Obsha9 kodfio = _db.Obsha9.Find(kod);
if (kod != null)
{
_db.Obsha9.Remove(kodfio);
_db.SaveChanges();
}
return RedirectToAction(«Index»);<<<<<<ОШИБКА
Ошибка сервера в приложении ‘/’.
Словарь параметров содержит запись со значением NULL для параметра «kod» типа «System.Int32», не допускающего значение NULL, для метода «System.Web.Mvc.ActionResult Delete(Int32)» в «ReitingTeacher.Controllers.HomeController».
Необязательный параметр должен иметь ссылочный тип, тип, допускающий значение NULL, либо он должен быть объявлен как необязательный параметр.
Имя параметра: parametersОписание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.
Сведения об исключении: System.ArgumentException: Словарь параметров содержит запись со значением NULL для параметра «kod» типа «System.Int32», не допускающего значение NULL, для метода «System.Web.Mvc.ActionResult
Delete(Int32)» в «ReitingTeacher.Controllers.HomeController». Необязательный параметр должен иметь ссылочный тип, тип, допускающий значение NULL, либо он должен быть объявлен как необязательный параметр.
Имя параметра: parameters.-
Изменено
28 мая 2013 г. 13:58
-
Изменено
Ответы
-
Ну развезли тут цирк))
1 посмотри в свой роутинг — там скорее всего увидишь чтото типа такого
«{controller}/{action}/{id}»так вот id тут ключевое
и у тебя передается в твой метод id=12345/*kod*/, а метод не принимает id а принимает kod
соответственно либо тут исправь
@Html.ActionLink(«Удалить», «Delete», new { kod= c.KodFIO }) и добавь роутинг с
«{controller}/{action}/{kod}»либо тут исправь
public ActionResult Delete(int id)
{
Obsha9 kodfio = _db.Obsha9.Find(id);
// if (id != null)
// {
_db.Obsha9.Remove(id);
_db.SaveChanges();
//}
return RedirectToAction(«Index»);
P.S. с исправлением роутинга так неполучится
«{controller}/{action}/{kod}» — конфликт пойдет c id
в общем запомни что существует связь по именам которую нужно соблюдать — если в ссылке стоит id значит и в методе должен стоять id а не int yaSralNaEtoPravilo-
Изменено
stuhin
31 мая 2013 г. 9:41 -
Предложено в качестве ответа
Maksim MarinovMicrosoft contingent staff, Moderator
3 июня 2013 г. 7:16 -
Помечено в качестве ответа
Maksim MarinovMicrosoft contingent staff, Moderator
4 июня 2013 г. 10:29
-
Изменено
-
проблема решена проще чем ожидалось
public ActionResult Delete(int? kod1) { Obsha9 kod = _db.Obsha9.Find(kod1); if (kod != null) { _db.Obsha9.Remove(kod); _db.SaveChanges(); } return RedirectToAction("Index");@Html.ActionLink("Удалить", "Delete", new { id= c.Kod, kod1=c.Kod})-
Предложено в качестве ответа
YatajgaModerator
1 июня 2013 г. 7:09 -
Помечено в качестве ответа
Maksim MarinovMicrosoft contingent staff, Moderator
4 июня 2013 г. 10:29
-
Предложено в качестве ответа
|
1 / 1 / 0 Регистрация: 20.01.2019 Сообщений: 18 |
|
|
1 |
|
|
.NET 4.x 17.11.2021, 11:04. Показов 3360. Ответов 6
Здравствуйте. В ноябре 20-го года делал программу-тест с простым графическим интерфейсом, считывающую вопросы из txt-файла (полный проект во вложении). Точно помню, что она работала, зачёт по ней сдан. Сейчас она мне понадобилась для другой работы, но при решении 7-го вопроса теста из 10 Visual Studio выдаёт ошибку: System.ArgumentNullException: «Значение не может быть неопределенным. Имя параметра: String» (скрин во вложениях). Миниатюры
__________________
0 |
|
2653 / 1589 / 849 Регистрация: 14.04.2015 Сообщений: 5,493 |
|
|
17.11.2021, 11:43 |
2 |
|
Решениеmetalphoenix, лишние пустые строки из файла уберите
1 |
|
1 / 1 / 0 Регистрация: 20.01.2019 Сообщений: 18 |
|
|
17.11.2021, 12:18 [ТС] |
3 |
|
AndreyVorobey, вы имеете в виду пустые строки в конце текстового файла с вопросами «t.txt»? Убрал, не помогло. Добавлено через 5 минут
0 |
|
1 / 1 / 0 Регистрация: 20.01.2019 Сообщений: 18 |
|
|
17.11.2021, 12:19 [ТС] |
4 |
|
Скрин Миниатюры
0 |
|
1 / 1 / 0 Регистрация: 20.01.2019 Сообщений: 18 |
|
|
17.11.2021, 12:26 [ТС] |
5 |
|
AndreyVorobey, Благодарю. Оказывается, в каталоге был дубль текстового файла, строки надо было убирать в нём.
0 |
|
2653 / 1589 / 849 Регистрация: 14.04.2015 Сообщений: 5,493 |
|
|
17.11.2021, 12:28 |
6 |
|
metalphoenix, ну так это не дубль, а тот файл, с которого считываются данные. нет? в первом файле было 10 вопросов, а во втором 7, и на нем ошибка была. мне казалось, это и так было понятно
0 |
|
1 / 1 / 0 Регистрация: 20.01.2019 Сообщений: 18 |
|
|
17.11.2021, 12:33 [ТС] |
7 |
|
AndreyVorobey, да, именно так. Пустые строки были в обоих. Видимо, файл с 10 вопросами я ранее сделал как резерв для изменения вопросов в будущем, а сейчас не сразу понял, что данные считываются не с него, а из того, в котором 7 вопросов. Ещё раз благодарю вас за оперативную помощь, хорошего вам дня)
0 |
Этот путь к картинке пустой(налл).
Напиши простой метод который двигается от большего разрешения к меньшему и если тот не нулл — то возвращает адрес картинки который ты можешь добавлять в свой лист.
public static string GetTheBiggestSizeUrlPhoto(Photo photoObj)
{
if (photoObj.PhotoSrc != null)
{
return photoObj.PhotoSrc.OriginalString;
}
if (photoObj.Photo2560 != null)
{
return photoObj.Photo2560.OriginalString;
}
if (photoObj.Photo1280 != null)
{
return photoObj.Photo1280.OriginalString;
}
if (photoObj.Photo807 != null)
{
return photoObj.Photo807.OriginalString;
}
if (photoObj.Photo604 != null)
{
return photoObj.Photo604.OriginalString;
}
if (photoObj.Photo130 != null)
{
return photoObj.Photo130.OriginalString;
}
return photoObj.Photo75.OriginalString;
}
Учись дебажится.
Потом отдельно пишешь метод для скачивания картинки с адреса и можешь достать сам битмап/
public static Bitmap GetPhotoBitmapFromUrl(string url)
{
if (url != string.Empty)
{
try
{
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream responseStream = response.GetResponseStream();
Bitmap bitmapImg = new Bitmap(responseStream);
return bitmapImg;
}
catch (WebException)
{
}
}
return new Bitmap(1, 1);
}
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро .NET
»
Ошибка с сообщением «Значение не может быть неопределенным. Имя параметра: gost»
|
kmi |
|
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 8 раз |
Добрый день! Помогите, пожалуйста, разобраться с проблемой. Есть клиент WCF-сервиса. Используется WS-security. При соединении проверяем сертификат сервера. Если запускаем из-под Visual Studio, то подключение работает. Но если запускаем сам exe-файл без студии, то возникает ошибка: Цитата: Message: Значение не может быть неопределенным. Exception: System.ArgumentNullException: Значение не может быть неопределенным. Server stack trace: Exception rethrown at [0]: Биндинг прописан так: Цитата: <wsHttpBinding> И эндпоинт: Цитата: <client> Стоит CSP 4.0.9944 и КП .NET 1.0.6893.0 |
![]() |
WWW |
|
Артём Макаров |
|
|
Статус: Сотрудник Группы: Участники Сказал(а) «Спасибо»: 4 раз |
Добрый день. Какая версия .NET Framework используется? Если используется Криптопро.NET SDK совпадает ли версия SDK с версией устновленной Криптопро.NET? Можно ещё попробовать явно указать algorithmSuite в байндинге: Код:
|
|
Техническую поддержку оказываем тут |
|
![]() |
|
|
kmi |
|
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 8 раз |
Помогло это: https://www.cryptopro.ru…ts&m=95154#post95154 |
![]() |
WWW |
| Пользователи, просматривающие эту тему |
|
Guest |
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро .NET
»
Ошибка с сообщением «Значение не может быть неопределенным. Имя параметра: gost»
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Доброго времени суток!
Пытаюсь научится делать приложения с использование пантера MVVM и IoC контейнерам.
В данном приложение используются данные библиотеки:
- Prism.Wpf;
- Prism.Autofac;
- Autofac;
Дополнительно: Prism.Mef(так как почти не задействуется).
Вот сам подозреваемый:
namespace DailyLog.Desktop.MainWindowMenu
{
[ModuleExport(typeof(MainWindowMenuModule))] // Единствиенное где используется "Prism.Mef"
public class MainWindowMenuModule : IModule
{
[Import]
public IRegionManager Region { get; set; }
public void OnInitialized(IContainerProvider containerProvider)
{
Region.RegisterViewWithRegion("MainWindowMenuRegion", typeof(HomeView));
}
public void RegisterTypes(IContainerRegistry containerRegistry)
{
}
}
}
Здесь регистрации модуля «MainWindowMenuModule» и самого модуля.
namespace DailyLog.Desktop.MainWindowMenu
{
public class MainWindowMenuModuleRegistry : Module
{
protected override void Load(ContainerBuilder builder)
{
base.Load(builder);
builder.RegisterType<MainWindowMenuModule>();
builder.RegisterType<HomeView>();
}
}
}
Вот загрузчик:
namespace DailyLog.Desktop.MainWindowMenu
{
public class Bootstrapper : AutofacBootstrapper
{
protected override void ConfigureContainerBuilder(ContainerBuilder builder)
{
base.ConfigureContainerBuilder(builder);
builder.RegisterType<Shell.Views.Shell>();
// Регистрация Autofac module здесь...
builder.RegisterModule<MainWindowMenuModuleRegistry>();
}
protected override void ConfigureModuleCatalog()
{
base.ConfigureModuleCatalog();
// Регистрация Prism module здесь...
Type typeNewsModule = typeof(MainWindowMenuModule);
ModuleCatalog.AddModule(new ModuleInfo(typeNewsModule.Name, typeNewsModule.AssemblyQualifiedName));
}
protected override DependencyObject CreateShell()
{
return Container.Resolve<Shell.Views.Shell>();
}
protected override void InitializeShell()
{
base.InitializeShell();
Application.Current.MainWindow = (Shell.Views.Shell)this.Shell;
Application.Current.MainWindow.Show();
}
}
}
Полный текст ошибки:
Prism.Modularity.ModuleInitializeException: «An exception occurred while initializing module ‘MainWindowMenuModule’.
— The exception message was: Значение не может быть неопределенным.
Имя параметра: context
Check the InnerException property of the exception for more information. If the exception occurred
while creating an object in a DI container, you can exception.GetRootException() to help locate the
root cause of the problem.»
Логи:
Изначально это исключение было создано в этом стеке вызовов:
Autofac.ResolutionExtensions.ResolveService(Autofac.IComponentContext, Autofac.Core.Service, System.Collections.Generic.IEnumerable)
Prism.Autofac.Ioc.AutofacContainerExtension.Resolve(System.Type)
Prism.Modularity.ModuleInitializer.CreateModule(string)
Prism.Modularity.ModuleInitializer.CreateModule(Prism.Modularity.IModuleInfo)
Prism.Modularity.ModuleInitializer.Initialize(Prism.Modularity.IModuleInfo)
В чем собственно проблема?
P.s ссылка на GitHub если вдруг… https://github.com/xXJamXx/DailyLog/tree/development
//get entries
string[,] entries = Search(ReplaceBlankWithAny(
new string[] { name, code, supplier, lot, grams, date, shelf, inStock, costKG }),
data);
int length = entries.GetLength(0);
int x = 0;
if (entries.GetLength(1) != 0)
{
x = 0;
//populate table
//for (uint x = 0; x < entries.GetLength(0); x++) not working
while (x < length)
{
string[] onlyInterestingParts = entries
.TakeHorizontalSlice((uint)x)
.Take(4)
.ToArray();
Main.instance.dataGridViewMatPrime.Rows.Add(onlyInterestingParts);
x++;
}
}
return entries;
I tried using a for (commented in the code) and then a while but they both return the error in the title. I moved the variable x outside the if but it still doesn’t work. I am sure ENTRIES IS NOT NULL, both because the if (entries.GetLength(1) != 0) is true and because i checked it in the debugger. Any reply is greatly appreciated!
//get entries
string[,] entries = Search(ReplaceBlankWithAny(
new string[] { name, code, supplier, lot, grams, date, shelf, inStock, costKG }),
data);
int length = entries.GetLength(0);
int x = 0;
if (entries.GetLength(1) != 0)
{
x = 0;
//populate table
//for (uint x = 0; x < entries.GetLength(0); x++) not working
while (x < length)
{
string[] onlyInterestingParts = entries
.TakeHorizontalSlice((uint)x)
.Take(4)
.ToArray();
Main.instance.dataGridViewMatPrime.Rows.Add(onlyInterestingParts);
x++;
}
}
return entries;
I tried using a for (commented in the code) and then a while but they both return the error in the title. I moved the variable x outside the if but it still doesn’t work. I am sure ENTRIES IS NOT NULL, both because the if (entries.GetLength(1) != 0) is true and because i checked it in the debugger. Any reply is greatly appreciated!
-
-
March 5 2019, 16:07
- IT
- Cancel
Несколько дней промучились с проблемой в нашем API-клиенте после того, как перевели его с .NET Framework 4.0 на 4.7.2. Используется WS-security. При подключении должен проверяться сертификат сервиса. Но проверка падает с исключением «System.ArgumentNullException: Значение не может быть неопределенным. Имя параметра: gost». Уже весь свой код перерыли…
Ларчик открывался просто: в версиях старше 4.6.2 .NET по умолчанию использует CNG провайдеры, которые КриптоПро.NET не поддерживает. Лечится выставлением Switch.System.IdentityModel.DisableCngCertificates=true.
В конфиге:
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.IdentityModel.DisableCngCertificates=true" />
</runtime>
</configuration>
В коде:
private const string DisableCngCertificates = @"Switch.System.IdentityModel.DisableCngCertificate";
AppContext.SetSwitch(disableCngCertificates, true);
Источник: форум КриптоПро.
- Remove From My Forums
-
Вопрос
-
Доброго времени суток
ОС 2008 r2 standart
sql x64 2008 r2
Имею такую ошибку
Значение не может быть неопределенным.
Имя параметра: viewInfo (Microsoft.SqlServer.Management.SqlStudio.Explorer)——————————
Расположение программы:в Microsoft.SqlServer.Management.SqlStudio.Explorer.ExplorerViewDescriptor..ctor(IFactoryService factoryService, INavigationViewInfo viewInfo, String urnPath, IDictionary`2 allEntities)
в Microsoft.SqlServer.Management.SqlStudio.Explorer.NavigationService.GetView(String urnPath)
в Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.<GetColumnsFromNavigationService>d__f.MoveNext()
в Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.AddFields(List`1 list, IEnumerable`1 fields, IDictionary`2 allValidFields, AddFieldsFlags flags)
в Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.GetFields(INodeInformation source, Dictionary`2& allValidColumns)
в Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.BuildDynamicItemWithQuery(IList`1 nodes, INodeInformation source, INavigableItem sourceItem, String urnQuery, Boolean registerBuilder, Boolean registerBuiltItems)
в Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.BuildDynamicItem(IList`1 nodes, INodeInformation source, INavigableItem sourceItem, IFilterProvider filter)
в Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.Build(IList`1 nodes, INodeInformation source, INavigableItem sourceItem, IFilterProvider filter)
в Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItem.RequestChildren(IGetChildrenRequest request)
в Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ExplorerHierarchyNode.BuildChildren(WaitHandle quitEvent)скачал process explorer
зашел в ssms.exe во вкладку strings
искал по тегу not found и нашел там %wZ program not found — skipping AUTOCHECK
прошу помочь разобраться
Ответы
-
У меня появилась мысль.
Установившик не давал первоначально установить sql т.к. жаловался на отствутвие dll (не могу сказать какой) в папке NET Framework 2.0.50727 , и я взял из соседней папки (NET Framework 4) аналогичный dll, вставил в папку и установил sql server. Как
считаете это могло повлиять ?Конечно! Ещё и mscorelib. Нельзя так делать, DLL в папке 2.0… и папке 4… используют разные версии .Net. Обратной совместимости нет.
Переустановите .Net на компе, это должно помочь.
-
Предложено в качестве ответа
26 июля 2011 г. 18:07
-
Помечено в качестве ответа
Dmitry Davydov
27 июля 2011 г. 13:45
-
Предложено в качестве ответа
-
Решил проблему, как всегда через …
sql удалил полностью
Пытался удалить продукты .NET сервер отказал, пытался воспользоваться установщиком .NET Framework версии 2, отказал, сказав что все уже установлено в комплекте с ОС (хотя папка пустовата была).
Перенес файлы .NET версии 2 из ОС 2008 (другого сервера)
Переустановил sql, не помогло.
Снес и поставил sql express 2008 (которая ещё требует сразу обновления до SP1)
Удалил экземпляр, оставив средства управления, т.к. базы не цеплялись на него (конфликт база версии 661 а цеплять можно только не выше 655)
И установил уже экземпляр стандарта, без доп. модулей.
Все работает теперь. Но как видите через ж…
-
Помечено в качестве ответа
Dmitry Davydov
27 июля 2011 г. 13:45
-
Помечено в качестве ответа
Сообщение было отмечено metalphoenix как решение
