Je suis en train d'utiliser Jeditables (http://www.appelsiini.net/projects/jeditable) dans mon premier monorail château demande mvcproblème Jeditable dans monorail château
je réussi à avoir apparaître la zone de texte et à la l'appel ajax, mon problème est maintenant que, après les ajax appeler les returs de texte modifié ne change et je ne peux pas obtenir la réponse après l'appel
ceci est ma page
<head>
<link href="../../Styles/Main.css" rel="stylesheet" type="text/css" />
<script src="../../JavaScript/jQuery1.4.2.js" type="text/javascript"></script>
<script src="../../JavaScript/EditInLine.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.editable').editable('/Home/Save', {
id : 'editableId',
name : 'editableText',
type : 'textarea',
cancel : 'Cancel',
submit : 'OK',
indicator : '<img src="img/indicator.gif">',
tooltip : 'Click to edit...',
width : '200',
style : 'display: inline',
callbac : function(value, settings) {
alert(value);
return value;
}
});
});
</script>
</head>
<body>
<label id='1' class='editable '>Some text</label>
</body>
</html>
et que mon contrôleur
using Castle.MonoRail.Framework;
using System;
using EditInLine.Model.Interfaces;
using EditInLine.Model;
namespace EditInLine.Controllers
{
[Layout("Default"), Rescue("Default")]
public class HomeController : SmartDispatcherController
{
private EditableElement editableElement;
private EditableElement EditableElement
{
get
{
if (Session["EditableElement"] == null)
{
Session["EditableElement"] = new EditableElement { Id = 1, Text = "Some text", CssClass = "editable" };
}
return (EditableElement)Session["EditableElement"];
}
}
public void Index()
{
PropertyBag["IsAdmin"] = true;
PropertyBag["element"] = EditableElement;
}
public void Save()
{
var elementId = Convert.ToInt32(Request.Form["editableId"]);
var text = Request.Form["editableText"];
var element = new EditableElement { Id = elementId, CssClass = "editable", Text = text };
Session["EditableElement"] = element;
}
}
}
Merci pour vous aider à
vous pouvez vous rendre la vie plus facile en utilisant la liaison de paramètre. Le 'Save()' méthode pourrait ressembler à ceci: –
'public void Save (int editableId, chaîne editableText) { session [ "EditableElement"] = new EditableElement ... }' –
et changer la 'Response.Write 'avec' RenderText' qui annule la vue –