Используйте метод .on()
jQuery http://api.jquery.com/on/ для присоединения обработчиков событий к элементу live.
Также с версии 1.9 .live()
удаляется.
Используйте дженерики.
public class SomeBinder<TConcreteType> : IModelBinder
{
}
Тогда ваша подпись становится
public ActionResult InterfaceWithInlineImplementation(
[ModelBinder(typeof(SomeBinder<SomeInterfaceImpelemtation_One>))]ISomeInterface SomeInterface)
Тогда десериализация:
JsonConvert.DeserializeObject<TConcreteType>(json)
Однако, исходя из вашего последнего комментария, звучит так, как будто вам просто нужно Предотвратить перепост вместо этой запутанной модели привязки.
Итак, допустим, клиент знает, что у реализации сервера есть методы безопасности, и пытается сопоставить подпись, надеясь, что все, например, будет десериализировано. Ясно, что вы ожидаете. И вы явно ожидаете только определения контракта и ничего более.
blockquote>Отрывок:
Массовое назначение обычно происходит во время привязки модели как часть MVC. Простой пример: на вашем веб-сайте есть форма, в которой вы редактируете некоторые данные. У вас также есть некоторые свойства в вашей модели, которые нельзя редактировать как часть формы, но вместо этого они используются для управления отображением формы или могут вообще не использоваться.
blockquote>public class UserModel { public string Name { get; set; } public bool IsAdmin { get; set; } }
Итак, идея в том, что вы визуализируете только один входной тег в разметке, но отправляете его в метод, который использует ту же модель, что и для рендеринга: [1114 ] blockquote>
[HttpPost] public IActionResult Vulnerable(UserModel model) { return View("Index", model); }
Однако с помощью небольшого количества манипуляций с HTML или с помощью Postman / Fiddler злонамеренный пользователь может установить для поля IsAdmin значение true. Связыватель модели должным образом свяжет значение, и вы только что стали жертвой массового назначения / повторной публикации:
Итак, как вы можете предотвратить эту атаку? К счастью, существует целый ряд различных способов, и они, как правило, совпадают с подходами, которые вы могли использовать в предыдущей версии ASP.NET. Здесь я рассмотрю ряд ваших вариантов.
blockquote>